sunlabs.brazil.handler
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
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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.