org.eclipse.jetty.server

## Class NCSARequestLog

- java.lang.Object
- - org.eclipse.jetty.util.component.AbstractLifeCycle
  - - org.eclipse.jetty.server.NCSARequestLog

- All Implemented Interfaces:
    RequestLog, LifeCycle
  Direct Known Subclasses:
    AsyncNCSARequestLog

      public class NCSARequestLog
      extends AbstractLifeCycle
      implements RequestLog

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

      `AbstractLifeCycle.AbstractLifeCycleListener`

    - ### Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle

      `LifeCycle.Listener`

  - ### Field Summary

    - ### Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

      `_listeners, FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NCSARequestLog()` Create request log object with default settings.
    `NCSARequestLog(String filename)` Create request log object with specified output file name.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `doStart()` Set up request logging and open log file.
    `protected void` | `doStop()` Close the log file and perform cleanup.
    `String` | `getDatedFilename()` Retrieve the file name of the request log with the expanded date wildcard if the output is written to the disk using `RolloverFileOutputStream`.
    `String` | `getFilename()` Retrieve the output file name of the request log.
    `String` | `getFilenameDateFormat()` Retrieve the file name date format string.
    `String[]` | `getIgnorePaths()` Retrieve the request paths that will not be logged.
    `boolean` | `getLogCookies()` Retrieve log cookies flag
    `String` | `getLogDateFormat()` Retrieve the timestamp format string for request log entries.
    `boolean` | `getLogLatency()` Retrieve log request processing time flag.
    `Locale` | `getLogLocale()` Retrieve the locale of the request log.
    `boolean` | `getLogServer()` Retrieve log hostname flag.
    `String` | `getLogTimeZone()` Retrieve the timezone of the request log.
    `boolean` | `getPreferProxiedForAddress()` Retrieved log X-Forwarded-For IP address flag.
    `int` | `getRetainDays()` Retrieve the number of days before rotated log files are deleted.
    `boolean` | `isAppend()` Retrieve append to log flag.
    `boolean` | `isExtended()` Retrieve the extended request log format flag.
    `boolean` | `isLogDispatch()` Retrieve request dispatch time logging flag
    `void` | `log(Request request, Response response)` Writes the request and response information to the output stream.
    `protected void` | `logExtended(Request request, Response response, StringBuilder b)` Writes extended request and response information to the output stream.
    `void` | `setAppend(boolean append)` Set append to log flag.
    `void` | `setExtended(boolean extended)` Set the extended request log format flag.
    `void` | `setFilename(String filename)` Set the output file name of the request log.
    `void` | `setFilenameDateFormat(String logFileDateFormat)` Set the log file name date format.
    `void` | `setIgnorePaths(String[] ignorePaths)` Set request paths that will not be logged.
    `void` | `setLogCookies(boolean logCookies)` Controls logging of the request cookies.
    `void` | `setLogDateFormat(String format)` Set the timestamp format for request log entries in the file.
    `void` | `setLogDispatch(boolean value)` Controls logging of the request dispatch time
    `void` | `setLogLatency(boolean logLatency)` Controls logging of request processing time.
    `void` | `setLogLocale(Locale logLocale)` Set the locale of the request log.
    `void` | `setLogServer(boolean logServer)` Controls logging of the request hostname.
    `void` | `setLogTimeZone(String tz)` Set the timezone of the request log.
    `void` | `setPreferProxiedForAddress(boolean preferProxiedForAddress)` Controls whether the actual IP address of the connection or the IP address from the X-Forwarded-For header will be logged.
    `void` | `setRetainDays(int retainDays)` Set the number of days before rotated log files are deleted.
    `protected void` | `write(String log)`

    - ### Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

      `addLifeCycleListener, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle

      `addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop`

- - ### Constructor Detail

    - #### NCSARequestLog

          public NCSARequestLog()

      Create request log object with default settings.

    - #### NCSARequestLog

          public NCSARequestLog(String filename)

      Create request log object with specified output file name.
      Parameters:
        `filename` - the file name for the request log. This may be in the format expected by `RolloverFileOutputStream`

  - ### Method Detail

    - #### setFilename

          public void setFilename(String filename)

      Set the output file name of the request log. The file name may be in the format expected by `RolloverFileOutputStream`.
      Parameters:
        `filename` - file name of the request log

    - #### getFilename

          public String getFilename()

      Retrieve the output file name of the request log.
      Returns:
        file name of the request log

    - #### getDatedFilename

          public String getDatedFilename()

      Retrieve the file name of the request log with the expanded date wildcard if the output is written to the disk using `RolloverFileOutputStream`.
      Returns:
        file name of the request log, or null if not applicable

    - #### setLogDateFormat

          public void setLogDateFormat(String format)

      Set the timestamp format for request log entries in the file. If this is not set, the pre-formated request timestamp is used.
      Parameters:
        `format` - timestamp format string

    - #### getLogDateFormat

          public String getLogDateFormat()

      Retrieve the timestamp format string for request log entries.
      Returns:
        timestamp format string.

    - #### setLogLocale

          public void setLogLocale(Locale logLocale)

      Set the locale of the request log.
      Parameters:
        `logLocale` - locale object

    - #### getLogLocale

          public Locale getLogLocale()

      Retrieve the locale of the request log.
      Returns:
        locale object

    - #### setLogTimeZone

          public void setLogTimeZone(String tz)

      Set the timezone of the request log.
      Parameters:
        `tz` - timezone string

    - #### getLogTimeZone

          public String getLogTimeZone()

      Retrieve the timezone of the request log.
      Returns:
        timezone string

    - #### setRetainDays

          public void setRetainDays(int retainDays)

      Set the number of days before rotated log files are deleted.
      Parameters:
        `retainDays` - number of days to keep a log file

    - #### getRetainDays

          public int getRetainDays()

      Retrieve the number of days before rotated log files are deleted.
      Returns:
        number of days to keep a log file

    - #### setExtended

          public void setExtended(boolean extended)

      Set the extended request log format flag.
      Parameters:
        `extended` - true - log the extended request information, false - do not log the extended request information

    - #### isExtended

          public boolean isExtended()

      Retrieve the extended request log format flag.
      Returns:
        value of the flag

    - #### setAppend

          public void setAppend(boolean append)

      Set append to log flag.
      Parameters:
        `append` - true - request log file will be appended after restart, false - request log file will be overwritten after restart

    - #### isAppend

          public boolean isAppend()

      Retrieve append to log flag.
      Returns:
        value of the flag

    - #### setIgnorePaths

          public void setIgnorePaths(String[] ignorePaths)

      Set request paths that will not be logged.
      Parameters:
        `ignorePaths` - array of request paths

    - #### getIgnorePaths

          public String[] getIgnorePaths()

      Retrieve the request paths that will not be logged.
      Returns:
        array of request paths

    - #### setLogCookies

          public void setLogCookies(boolean logCookies)

      Controls logging of the request cookies.
      Parameters:
        `logCookies` - true - values of request cookies will be logged, false - values of request cookies will not be logged

    - #### getLogCookies

          public boolean getLogCookies()

      Retrieve log cookies flag
      Returns:
        value of the flag

    - #### setLogServer

          public void setLogServer(boolean logServer)

      Controls logging of the request hostname.
      Parameters:
        `logServer` - true - request hostname will be logged, false - request hostname will not be logged

    - #### getLogServer

          public boolean getLogServer()

      Retrieve log hostname flag.
      Returns:
        value of the flag

    - #### setLogLatency

          public void setLogLatency(boolean logLatency)

      Controls logging of request processing time.
      Parameters:
        `logLatency` - true - request processing time will be logged false - request processing time will not be logged

    - #### getLogLatency

          public boolean getLogLatency()

      Retrieve log request processing time flag.
      Returns:
        value of the flag

    - #### setPreferProxiedForAddress

          public void setPreferProxiedForAddress(boolean preferProxiedForAddress)

      Controls whether the actual IP address of the connection or the IP address from the X-Forwarded-For header will be logged.
      Parameters:
        `preferProxiedForAddress` - true - IP address from header will be logged, false - IP address from the connection will be logged

    - #### getPreferProxiedForAddress

          public boolean getPreferProxiedForAddress()

      Retrieved log X-Forwarded-For IP address flag.
      Returns:
        value of the flag

    - #### setFilenameDateFormat

          public void setFilenameDateFormat(String logFileDateFormat)

      Set the log file name date format.
      Parameters:
        `logFileDateFormat` - format string that is passed to `RolloverFileOutputStream`
      See Also:
        `RolloverFileOutputStream.RolloverFileOutputStream(String, boolean, int, TimeZone, String, String)`

    - #### getFilenameDateFormat

          public String getFilenameDateFormat()

      Retrieve the file name date format string.
      Returns:
        the log File Date Format

    - #### setLogDispatch

          public void setLogDispatch(boolean value)

      Controls logging of the request dispatch time
      Parameters:
        `value` - true - request dispatch time will be logged false - request dispatch time will not be logged

    - #### isLogDispatch

          public boolean isLogDispatch()

      Retrieve request dispatch time logging flag
      Returns:
        value of the flag

    - #### log

          public void log(Request request,
                 Response response)

      Writes the request and response information to the output stream.
      Specified by:
        `log` in interface `RequestLog`
      See Also:
        `RequestLog.log(org.eclipse.jetty.server.Request, org.eclipse.jetty.server.Response)`

    - #### write

          protected void write(String log)
                        throws IOException

      Throws:
        `IOException`

    - #### logExtended

          protected void logExtended(Request request,
                         Response response,
                         StringBuilder b)
                              throws IOException

      Writes extended request and response information to the output stream.
      Parameters:
        `request` - request object
        `response` - response object
        `b` - StringBuilder to write to
      Throws:
        `IOException`

    - #### doStart

          protected void doStart()
                          throws Exception

      Set up request logging and open log file.
      Overrides:
        `doStart` in class `AbstractLifeCycle`
      Throws:
        `Exception`
      See Also:
        `AbstractLifeCycle.doStart()`

    - #### doStop

          protected void doStop()
                         throws Exception

      Close the log file and perform cleanup.
      Overrides:
        `doStop` in class `AbstractLifeCycle`
      Throws:
        `Exception`
      See Also:
        `AbstractLifeCycle.doStop()`

Copyright © 1995-2015 Mort Bay Consulting. All Rights Reserved.