NCSA HTTP Request Log.
NCSA common or NCSA extended (combined) request log.
getDatedFilename
public String getDatedFilename()
Get the dated log filename.
- The log filename with any date encoding expanded.
getFilename
public String getFilename()
Get the log filename.
- The log filename without any date expansion.
getIgnorePaths
public String[] getIgnorePaths()
getLogCookies
public boolean getLogCookies()
getLogDateFormat
public String getLogDateFormat()
- The date format to use within the log file.
getLogLatency
public boolean getLogLatency()
- Returns true if logging latency
getLogTimeZone
public String getLogTimeZone()
- The date format timezone to use within the log file.
getRetainDays
public int getRetainDays()
- The number of days to retain rollovered log files.
isAppend
public boolean isAppend()
- True if logs are appended to existing log files.
isExtended
public boolean isExtended()
- True if NCSA extended format is to be used.
log
public void log(HttpRequest request,
HttpResponse response,
int responseLength)
Log a request.
- log in interface RequestLog
request
- The requestresponse
- The response to this request.responseLength
- The bytes written to the response.
logExtended
protected void logExtended(HttpRequest request,
HttpResponse response,
Writer log)
throws IOException
Log Extended fields.
This method can be extended by a derived class to add extened fields to
each log entry. It is called by the log method after all standard
fields have been added, but before the line terminator.
Derived implementations should write extra fields to the Writer
provided.
The default implementation writes the referer and user agent.
request
- The request to log.response
- The response to log.log
- The writer to write the extra fields to.
setAppend
public void setAppend(boolean a)
a
- True if logs are appended to existing log files.
setBuffered
public void setBuffered(boolean b)
ignored
setExtended
public void setExtended(boolean e)
e
- True if NCSA extended format is to be used.
setFilename
public void setFilename(String filename)
Set the log filename.
filename
- The filename to use. If the filename contains the
string "yyyy_mm_dd", then a RolloverFileOutputStream is used and the
log is rolled over nightly and aged according setRetainDays. If no
filename is set or a null filename
passed, then requests are logged to System.err.
setIgnorePaths
public void setIgnorePaths(String[] ignorePaths)
Set which paths to ignore.
ignorePaths
- Array of path specifications to ignore
setLogCookies
public void setLogCookies(boolean logCookies)
logCookies
- The logCookies to set.
setLogDateFormat
public void setLogDateFormat(String format)
format
- The date format to use within the log file.
setLogLatency
public void setLogLatency(boolean logLatency)
logLatency
- If true, latency is logged at the end of the log line
setLogTimeZone
public void setLogTimeZone(String tz)
tz
- The date format timezone to use within the log file.
setPreferProxiedForAddress
public void setPreferProxiedForAddress(boolean value)
Prefer to log the proxied-for IP address (if present in
the request header) over the native requester IP address.
Useful in reverse-proxy situations when you'd rather see
the IP address of the host before the most recent proxy
server, as opposed to your own proxy server(s) every time.
jlrobins@socialserve.com, March 2004.
setRetainDays
public void setRetainDays(int retainDays)
retainDays
- The number of days to retain rollovered log files.