Package sunlabs.brazil.handler
Class ChainSawHandler
java.lang.Object
sunlabs.brazil.server.ChainHandler
sunlabs.brazil.handler.ChainSawHandler
- All Implemented Interfaces:
Handler
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
See the LogHandler
handler for generating logs whose
contents are configurable.
- Version:
- 2.1, 02/10/01
- Author:
- Stephen Uhler
-
Field Summary
FieldsFields inherited from class sunlabs.brazil.server.ChainHandler
exitOnError, handlers, isMine, names, prefix, report
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Initializes thisChainHandler
by initializing all the "wrapped" handlers in the list of handlers.boolean
Run the chain-handler, counting the # of bytes of output generated by its chained handlers.Methods inherited from class sunlabs.brazil.server.ChainHandler
initHandler
-
Field Details
-
LOG
- See Also:
-
FLUSH
- See Also:
-
BUFSIZE
public static final int BUFSIZE- See Also:
-
-
Constructor Details
-
ChainSawHandler
public ChainSawHandler()
-
-
Method Details
-
init
Description copied from class:ChainHandler
Initializes thisChainHandler
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 thisChainHandler
is considered to have failed.- Specified by:
init
in interfaceHandler
- Overrides:
init
in classChainHandler
- Parameters:
server
- The HTTP server that created thisChainHandler
.prefix
- The prefix for thisChainHandler
's properties.- Returns:
true
if at least one of the wrapped handlers was successfully initialized.
-
respond
Run the chain-handler, counting the # of bytes of output generated by its chained handlers.- Specified by:
respond
in interfaceHandler
- Overrides:
respond
in classChainHandler
- Parameters:
request
- The HTTP request.- Returns:
true
if one of theHandler
s returnstrue
,false
otherwise.- Throws:
IOException
- if one of theHandler
s throws anIOException
while responding.
-