Class ChainSawHandler

java.lang.Object
sunlabs.brazil.server.ChainHandler
sunlabs.brazil.handler.ChainSawHandler
All Implemented Interfaces:
Handler

public class ChainSawHandler extends ChainHandler
Variant of the chain handler for doing standard logging. Don't use on fine furniture.

Output is a variant of the common logfile format. The common logfile format is as follows:

remotehost rfc931 authuser [date] "request" status bytes
remotehost
Remote hostname (or IP number if DNS hostname is not available, or if DNSLookup is Off.
rfc931
The remote logname of the user.
authuser
The username as which the user has authenticated himself.
[date]
Date and time of the request.
"request"
The request line exactly as it came from the client.
status
The HTTP status code returned to the client.
bytes
The content-length of the document transferred.
"referrer" (optional)
the referring url
"user agent" (optional)
"The user agent making the request

Additional Configuration options:

logFile
The name of the file to write the logs to.
flush
The number of requests between flushes to the file
If the logFile is removed, the server creates a new one. Thus logs may be truncated by periodically moving them to another name (at least on unix).

See the LogHandler handler for generating logs whose contents are configurable.

Version:
2.1, 02/10/01
Author:
Stephen Uhler
  • Field Details

  • Constructor Details

    • ChainSawHandler

      public ChainSawHandler()
  • Method Details

    • init

      public boolean init(Server server, String prefix)
      Description copied from class: ChainHandler
      Initializes this ChainHandler by initializing all the "wrapped" handlers in the list of handlers. If a wrapped handler cannot be initialized, this method logs a message and skips it. If no handlers were specified, or no handlers were successfully initialized, then the initialization of this ChainHandler is considered to have failed.
      Specified by:
      init in interface Handler
      Overrides:
      init in class ChainHandler
      Parameters:
      server - The HTTP server that created this ChainHandler.
      prefix - The prefix for this ChainHandler's properties.
      Returns:
      true if at least one of the wrapped handlers was successfully initialized.
    • respond

      public boolean respond(Request request) throws IOException
      Run the chain-handler, counting the # of bytes of output generated by its chained handlers.
      Specified by:
      respond in interface Handler
      Overrides:
      respond in class ChainHandler
      Parameters:
      request - The HTTP request.
      Returns:
      true if one of the Handlers returns true, false otherwise.
      Throws:
      IOException - if one of the Handlers throws an IOException while responding.