Class Log


  • public class Log
    extends Object
    This is a simple logger for the HTTPClient. It defines a number of "facilities", each representing one or more logically connected classes. Logging can be enabled or disabled on a per facility basis. Furthermore, the logging output can be redirected to any desired place, such as a file or a buffer; by default all logging goes to System.err.

    All log entries are preceded by the name of the currently executing thread, enclosed in {}'s, and the current time in hours, minutes, seconds, and milliseconds, enclosed in []'s. Example: {Thread-5} [20:14:03.244] Conn: Sending Request

    When the class is loaded, two java system properties are read: HTTPClient.log.file and HTTPClient.log.mask. The first one, if set, causes all logging to be redirected to the file with the given name. The second one, if set, is used for setting which facilities are enabled; the value must be the bitwise OR ('|') of the values of the desired enabled facilities. E.g. a value of 3 would enable logging for the HTTPConnection and HTTPResponse, a value of 16 would enable cookie related logging, and a value of 8 would enable authorization related logging; a value of -1 would enable logging for all facilities. By default logging is disabled.

    Since:
    V0.3-3
    Version:
    0.3-3 06/05/2001
    Author:
    Ronald Tschal�r
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ALL
      All the facilities - for use in setLogging (-1)
      static int AUTH
      The Authorization facility (8)
      static int CONN
      The HTTPConnection facility (1)
      static int COOKI
      The Cookies facility (16)
      static int DEMUX
      The StreamDemultiplexor facility (4)
      static int MODS
      The Modules facility (32)
      static int RESP
      The HTTPResponse facility (2)
      static int SOCKS
      The Socks facility (64)
      static int URLC
      The ULRConnection facility (128)
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean isEnabled​(int facility)
      Check whether logging for the given facility is enabled or not.
      static void setLogging​(int facilities, boolean enable)
      Enable or disable logging for the given facilities.
      static void setLogWriter​(Writer log, boolean closeWhenDone)
      Set the writer to which to log.
      static void write​(int facility, String msg)
      Write the given message to the current log if logging for the given facility is enabled.
      static void write​(int facility, String prefix, ByteArrayOutputStream buf)
      Write the contents of the given buffer to the current log if logging for the given facility is enabled.
      static void write​(int facility, String prefix, Throwable t)
      Write the stack trace of the given exception to the current log if logging for the given facility is enabled.
    • Method Detail

      • write

        public static void write​(int facility,
                                 String msg)
        Write the given message to the current log if logging for the given facility is enabled.
        Parameters:
        facility - the facility which is logging the message
        msg - the message to log
      • write

        public static void write​(int facility,
                                 String prefix,
                                 Throwable t)
        Write the stack trace of the given exception to the current log if logging for the given facility is enabled.
        Parameters:
        facility - the facility which is logging the message
        prefix - the string with which to prefix the stack trace; may be null
        t - the exception to log
      • write

        public static void write​(int facility,
                                 String prefix,
                                 ByteArrayOutputStream buf)
        Write the contents of the given buffer to the current log if logging for the given facility is enabled.
        Parameters:
        facility - the facility which is logging the message
        prefix - the string with which to prefix the buffer contents; may be null
        buf - the buffer to dump
      • isEnabled

        public static boolean isEnabled​(int facility)
        Check whether logging for the given facility is enabled or not.
        Parameters:
        facility - the facility to check
        Returns:
        true if logging for the given facility is enable; false otherwise
      • setLogging

        public static void setLogging​(int facilities,
                                      boolean enable)
        Enable or disable logging for the given facilities.
        Parameters:
        facilities - the facilities for which to enable or disable logging. This is bitwise OR ('|') of all the desired facilities; use ALL to affect all facilities
        enable - if true, enable logging for the chosen facilities; if false, disable logging for them.
      • setLogWriter

        public static void setLogWriter​(Writer log,
                                        boolean closeWhenDone)
        Set the writer to which to log. By default, things are logged to System.err.
        Parameters:
        log - the writer to log to; if null, nothing is changed
        closeWhenDone - if true, close this stream when a new stream is set again