sunlabs.brazil.handler
Class ChainSawHandler
java.lang.Object
sunlabs.brazil.server.ChainHandler
sunlabs.brazil.handler.ChainSawHandler (view source)
- 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.
Method Summary |
boolean |
init(Server server,
String prefix)
Initializes this ChainHandler by initializing all the
"wrapped" handlers in the list of handlers. |
boolean |
respond(Request request)
Run the chain-handler, counting the # of bytes of output generated
by its chained handlers. |
LOG
public static final String LOG
- See Also:
- Constant Field Values
FLUSH
public static final String FLUSH
- See Also:
- Constant Field Values
BUFSIZE
public static final int BUFSIZE
- See Also:
- Constant Field Values
ChainSawHandler
public ChainSawHandler()
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 Handler
s returns
true
, false
otherwise.
- Throws:
IOException
- if one of the Handler
s throws an
IOException
while responding.