Package net.i2p.jetty

Class I2PRequestLog

  • All Implemented Interfaces:
    RequestLog, LifeCycle

    public class I2PRequestLog
    extends AbstractLifeCycle
    implements RequestLog
    This RequestLog implementation outputs logs in the pseudo-standard NCSA common log format. Configuration options allow a choice between the standard Common Log Format (as used in the 3 log format) and the Combined Log Format (single log format). This log format can be output by most web servers, and almost all web log analysis software can understand these formats. ** I2P Mods ** For Jetty 5, this extended NCSARequestLog to override log() to put in the requestor's destination hash, instead of 127.0.0.1, which is placed in the X-I2P-DestHash field in the request headers by I2PTunnelHTTPServer. But we also had to modify NCSARequestLog to do so, to change private fields to protected. So that we will work with system Jetty 6 packages, we just copy the whole thing and modify log() as required.
    Author:
    Greg Wilkins, Nigel Canonizado
    • Constructor Detail

      • I2PRequestLog

        public I2PRequestLog()
      • I2PRequestLog

        public I2PRequestLog​(String filename)
        Parameters:
        filename - The filename for the request log. This may be in the format expected by RolloverFileOutputStream
    • Method Detail

      • setFilename

        public void setFilename​(String filename)
        Parameters:
        filename - The filename for the request log. This may be in the format expected by RolloverFileOutputStream
      • getFilename

        public String getFilename()
      • getDatedFilename

        public String getDatedFilename()
      • setLogDateFormat

        public void setLogDateFormat​(String format)
        Parameters:
        format - Format for the timestamps in the log file. If not set, the pre-formated request timestamp is used.
      • getLogDateFormat

        public String getLogDateFormat()
      • setLogLocale

        public void setLogLocale​(Locale logLocale)
      • getLogLocale

        public Locale getLogLocale()
      • setLogTimeZone

        public void setLogTimeZone​(String tz)
      • getLogTimeZone

        public String getLogTimeZone()
      • setRetainDays

        public void setRetainDays​(int retainDays)
      • getRetainDays

        public int getRetainDays()
      • setExtended

        public void setExtended​(boolean extended)
      • isExtended

        public boolean isExtended()
      • setAppend

        public void setAppend​(boolean append)
      • isAppend

        public boolean isAppend()
      • setIgnorePaths

        public void setIgnorePaths​(String[] ignorePaths)
      • getIgnorePaths

        public String[] getIgnorePaths()
      • setLogCookies

        public void setLogCookies​(boolean logCookies)
      • getLogCookies

        public boolean getLogCookies()
      • getLogServer

        public boolean getLogServer()
      • setLogServer

        public void setLogServer​(boolean logServer)
      • setLogLatency

        public void setLogLatency​(boolean logLatency)
      • getLogLatency

        public boolean getLogLatency()
      • setPreferProxiedForAddress

        public void setPreferProxiedForAddress​(boolean preferProxiedForAddress)
      • setB64

        public void setB64​(boolean b64)
        Parameters:
        b64 - true to enable base 64 logging. False for base 32 logging. Default false.
        Since:
        0.9.24
      • getFilenameDateFormat

        public String getFilenameDateFormat()
        Returns:
        the log File Date Format
      • setFilenameDateFormat

        public void setFilenameDateFormat​(String logFileDateFormat)
        Set the log file date format. see RolloverFileOutputStream(String, boolean, int, TimeZone, String, String)
        Parameters:
        logFileDateFormat - the logFileDateFormat to pass to RolloverFileOutputStream