Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.mortbay.util
Class OutputStreamLogSink  view OutputStreamLogSink download OutputStreamLogSink.java

java.lang.Object
  extended byorg.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 $

Field Summary
private static java.lang.String __lineSeparator
           
private  boolean _append
           
protected  ByteArrayISO8859Writer _buffer
           
protected  int _bufferSize
           
protected  DateCache _dateFormat
           
private  java.lang.String _filename
           
protected  boolean _flushOn
           
protected  boolean _logLabels
           
protected  boolean _logOneLine
           
protected  boolean _logStackSize
           
protected  boolean _logStackTrace
           
protected  boolean _logTags
           
protected  boolean _logTimeStamps
           
protected  java.lang.String _logTimezone
           
protected  java.io.OutputStream _out
           
protected  boolean _reopen
           
private  int _retainDays
           
protected  boolean _started
           
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
clone, equals, finalize, 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

__lineSeparator

private static final java.lang.String __lineSeparator

_retainDays

private int _retainDays

_dateFormat

protected DateCache _dateFormat

_logTimezone

protected java.lang.String _logTimezone

_logTimeStamps

protected boolean _logTimeStamps

_logLabels

protected boolean _logLabels

_logTags

protected boolean _logTags

_logStackSize

protected boolean _logStackSize

_logStackTrace

protected boolean _logStackTrace

_logOneLine

protected boolean _logOneLine

_filename

private java.lang.String _filename

_append

private boolean _append

_flushOn

protected boolean _flushOn

_bufferSize

protected int _bufferSize

_reopen

protected boolean _reopen

_started

protected transient boolean _started

_out

protected transient java.io.OutputStream _out

_buffer

protected transient ByteArrayISO8859Writer _buffer
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

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)

getFlushOn

public boolean getFlushOn()

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

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

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