## org.mortbay.util
Class OutputStreamLogSink

    java.lang.Object
      |
      +--org.mortbay.util.OutputStreamLogSink

All Implemented Interfaces:
  LifeCycle, LogSink, java.io.Serializable

public class OutputStreamLogSink
extends java.lang.Object
implements LogSink

A Log sink. This class represents both a concrete or abstract sink of Log data. The default implementation logs to System.err, but other output stream or files may be specified. Currently this Stream only writes in ISO8859_1 encoding. For Other encodings use the less efficient WriterLogSink. If a logFilename is specified, output is sent to that file. If the filename contains "yyyy_mm_dd", the log file date format is used to create the actual filename and the log file is rolled over at local midnight. If append is set, existing logfiles are appended to, otherwise a backup is created with a timestamp. Dated log files are deleted after retain days.

If the property LOG_DATE_FORMAT is set, then it is interpreted as a format string for java.text.SimpleDateFormat and used to format the log timestamps. Default value: HH:mm:ss.SSS

If LOG_TIMEZONE is set, it is used to set the timezone of the log date format, otherwise GMT is used.

Version:
  $Id: OutputStreamLogSink.java,v 1.17 2003/04/24 21:57:52 bretts Exp $
Author:
  Greg Wilkins (gregw)
See Also:
  `Log`, Serialized Form

Field Summary
`static char` `OPT_LABEL`
`static char` `OPT_ONELINE`
`static char` `OPT_STACKSIZE`
`static char` `OPT_STACKTRACE`
`static char` `OPT_TAG`
`static char` `OPT_TIMESTAMP`

Constructor Summary
`OutputStreamLogSink()` Constructor.
`OutputStreamLogSink(java.lang.String filename)`

Method Summary
`java.lang.String` `getDatedFilename()`
`java.lang.String` `getFilename()`
`boolean` `getFlushOn()`
`java.lang.String` `getLogDateFormat()`
`java.lang.String` `getLogTimezone()` Deprecated. Use getLogTimeZone()
`java.lang.String` `getLogTimeZone()`
`java.lang.String` `getOptions()`
`java.io.OutputStream` `getOutputStream()`
`int` `getRetainDays()`
`boolean` `isAppend()`
`boolean` `isLogLabels()`
`boolean` `isLogOneLine()`
`boolean` `isLogStackSize()`
`boolean` `isLogStackTrace()`
`boolean` `isLogTags()`
`boolean` `isLogTimeStamps()`
`boolean` `isStarted()`
`void` `log(java.lang.String formattedLog)` Log a message.
`void` `log(java.lang.String tag, java.lang.Object msg, Frame frame, long time)` Log a message.
`void` `setAppend(boolean a)`
`void` `setFilename(java.lang.String filename)`
`void` `setFlushOn(boolean on)`
`void` `setLogDateFormat(java.lang.String logDateFormat)`
`void` `setLogLabels(boolean logLabels)`
`void` `setLogOneLine(boolean logOneLine)`
`void` `setLogStackSize(boolean logStackSize)`
`void` `setLogStackTrace(boolean logStackTrace)`
`void` `setLogTags(boolean logTags)`
`void` `setLogTimeStamps(boolean logTimeStamps)`
`void` `setLogTimezone(java.lang.String logTimezone)` Deprecated. Use setLogTimeZone(String)
`void` `setLogTimeZone(java.lang.String logTimezone)`
`void` `setOptions(boolean logTimeStamps, boolean logLabels, boolean logTags, boolean logStackSize, boolean logStackTrace, boolean logOneLine)` Set the log options.
`void` `setOptions(java.lang.String logOptions)` Set the log options.
`void` `setOutputStream(java.io.OutputStream out)`
`void` `setRetainDays(int retainDays)`
`void` `start()` Start a log sink.
`void` `stop()` Stop a log sink.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### OPT_TIMESTAMP

    public static final char OPT_TIMESTAMP

See Also:
  Constant Field Values

### OPT_LABEL

    public static final char OPT_LABEL

See Also:
  Constant Field Values

### OPT_TAG

    public static final char OPT_TAG

See Also:
  Constant Field Values

### OPT_STACKSIZE

    public static final char OPT_STACKSIZE

See Also:
  Constant Field Values

### OPT_STACKTRACE

    public static final char OPT_STACKTRACE

See Also:
  Constant Field Values

### OPT_ONELINE

    public static final char OPT_ONELINE

See Also:
  Constant Field Values

Constructor Detail

### OutputStreamLogSink

    public OutputStreamLogSink()
                        throws java.io.IOException

  Constructor.

### OutputStreamLogSink

    public OutputStreamLogSink(java.lang.String filename)

Method Detail

### setOptions

    public void setOptions(java.lang.String logOptions)

  Description copied from interface: `LogSink`
  Set the log options.

  Specified by:
    `setOptions` in interface `LogSink`
  Parameters:
    `logOptions` - A string of characters as defined for the LOG_OPTIONS system parameter.

### getOptions

    public java.lang.String getOptions()

  Specified by:
    `getOptions` in interface `LogSink`

### setOptions

    public void setOptions(boolean logTimeStamps,
                           boolean logLabels,
                           boolean logTags,
                           boolean logStackSize,
                           boolean logStackTrace,
                           boolean logOneLine)

  Set the log options.

### getLogDateFormat

    public java.lang.String getLogDateFormat()

### setLogDateFormat

    public void setLogDateFormat(java.lang.String logDateFormat)

### getLogTimezone

    public java.lang.String getLogTimezone()

  Deprecated. Use getLogTimeZone()

### setLogTimezone

    public void setLogTimezone(java.lang.String logTimezone)

  Deprecated. Use setLogTimeZone(String)

### getLogTimeZone

    public java.lang.String getLogTimeZone()

### setLogTimeZone

    public void setLogTimeZone(java.lang.String logTimezone)

### isLogTimeStamps

    public boolean isLogTimeStamps()

### setLogTimeStamps

    public void setLogTimeStamps(boolean logTimeStamps)

### isLogLabels

    public boolean isLogLabels()

### setLogLabels

    public void setLogLabels(boolean logLabels)

### isLogTags

    public boolean isLogTags()

### setLogTags

    public void setLogTags(boolean logTags)

### isLogStackSize

    public boolean isLogStackSize()

### setLogStackSize

    public void setLogStackSize(boolean logStackSize)

### isLogStackTrace

    public boolean isLogStackTrace()

### setLogStackTrace

    public void setLogStackTrace(boolean logStackTrace)

### isLogOneLine

    public boolean isLogOneLine()

### setLogOneLine

    public void setLogOneLine(boolean logOneLine)

### isAppend

    public boolean isAppend()

### setAppend

    public void setAppend(boolean a)

### setOutputStream

    public void setOutputStream(java.io.OutputStream out)

### getOutputStream

    public java.io.OutputStream getOutputStream()

### setFilename

    public void setFilename(java.lang.String filename)

### getFilename

    public java.lang.String getFilename()

### getDatedFilename

    public java.lang.String getDatedFilename()

### getRetainDays

    public int getRetainDays()

### setRetainDays

    public void setRetainDays(int retainDays)

### setFlushOn

    public void setFlushOn(boolean on)

  Parameters:
    `on` - If true, log is flushed on every log.

### getFlushOn

    public boolean getFlushOn()

  Returns:
    true, log is flushed on every log.

### log

    public void log(java.lang.String tag,
                    java.lang.Object msg,
                    Frame frame,
                    long time)

  Log a message. This method formats the log information as a string and calls log(String). It should only be specialized by a derived implementation if the format of the logged messages is to be changed.

  Specified by:
    `log` in interface `LogSink`
  Parameters:
    `tag` - Tag for type of log
    `msg` - The message
    `frame` - The frame that generated the message.
    `time` - The time stamp of the message.

### log

    public void log(java.lang.String formattedLog)

  Log a message. The formatted log string is written to the log sink. The default implementation writes the message to an outputstream.

  Specified by:
    `log` in interface `LogSink`
  Parameters:
    `formattedLog` -

### start

    public void start()

  Start a log sink. The default implementation does nothing

  Specified by:
    `start` in interface `LifeCycle`

### stop

    public void stop()

  Stop a log sink. An opportunity for subclasses to clean up. The default implementation does nothing

  Specified by:
    `stop` in interface `LifeCycle`

### isStarted

    public boolean isStarted()

  Specified by:
    `isStarted` in interface `LifeCycle`
  Returns:
    True if the LifeCycle has been started.

Copyright © 2000 Mortbay Consulting Pty. Ltd. All Rights Reserved.