org.mortbay.log

Class OutputStreamLogSink

Implemented Interfaces:
LifeCycle, LogSink, 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.4 2004/09/19 08:04:57 gregwilkins Exp $
Author:
Greg Wilkins (gregw)
See Also:
org.mortbay.util.Log

Field Summary

protected ByteArrayISO8859Writer
_buffer
protected int
_bufferSize
protected DateCache
_dateFormat
protected boolean
_flushOn
protected LogImpl
_logImpl
protected boolean
_logLabels
protected boolean
_logOneLine
protected boolean
_logStackSize
protected boolean
_logStackTrace
protected boolean
_logTags
protected boolean
_logTimeStamps
protected String
_logTimezone
protected OutputStream
_out
protected boolean
_reopen
protected boolean
_started
protected boolean
_suppressStack

Constructor Summary

OutputStreamLogSink()
Constructor.
OutputStreamLogSink(String filename)

Method Summary

String
getDatedFilename()
String
getFilename()
boolean
getFlushOn()
String
getLogDateFormat()
String
getLogTimeZone()
String
getLogTimezone()
Deprecated. Use getLogTimeZone()
OutputStream
getOutputStream()
int
getRetainDays()
boolean
isAppend()
boolean
isLogLabels()
boolean
isLogOneLine()
boolean
isLogStackSize()
boolean
isLogStackTrace()
boolean
isLogTags()
boolean
isLogTimeStamps()
boolean
isStarted()
boolean
isSuppressStack()
void
log(String formattedLog)
Log a message.
void
log(String tag, Object o, Frame frame, long time)
Log a message.
void
setAppend(boolean a)
void
setFilename(String filename)
void
setFlushOn(boolean on)
void
setLogDateFormat(String logDateFormat)
void
setLogImpl(LogImpl impl)
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(String logTimezone)
void
setLogTimezone(String logTimezone)
Deprecated. Use setLogTimeZone(String)
void
setOutputStream(OutputStream out)
void
setRetainDays(int retainDays)
void
setSuppressStack(boolean suppressStack)
void
start()
Start a log sink.
void
stop()
Stop a log sink.

Field Details

_buffer

protected ByteArrayISO8859Writer _buffer

_bufferSize

protected int _bufferSize

_dateFormat

protected DateCache _dateFormat

_flushOn

protected boolean _flushOn

_logImpl

protected LogImpl _logImpl

_logLabels

protected boolean _logLabels

_logOneLine

protected boolean _logOneLine

_logStackSize

protected boolean _logStackSize

_logStackTrace

protected boolean _logStackTrace

_logTags

protected boolean _logTags

_logTimeStamps

protected boolean _logTimeStamps

_logTimezone

protected String _logTimezone

_out

protected OutputStream _out

_reopen

protected boolean _reopen

_started

protected boolean _started

_suppressStack

protected boolean _suppressStack

Constructor Details

OutputStreamLogSink

public OutputStreamLogSink()
            throws IOException
Constructor.

OutputStreamLogSink

public OutputStreamLogSink(String filename)

Method Details

getDatedFilename

public String getDatedFilename()

getFilename

public String getFilename()

getFlushOn

public boolean getFlushOn()
Returns:
true, log is flushed on every log.

getLogDateFormat

public String getLogDateFormat()

getLogTimeZone

public String getLogTimeZone()

getLogTimezone

public String getLogTimezone()

Deprecated. Use getLogTimeZone()


getOutputStream

public OutputStream getOutputStream()

getRetainDays

public int getRetainDays()

isAppend

public boolean isAppend()

isLogLabels

public boolean isLogLabels()

isLogOneLine

public boolean isLogOneLine()

isLogStackSize

public boolean isLogStackSize()

isLogStackTrace

public boolean isLogStackTrace()

isLogTags

public boolean isLogTags()

isLogTimeStamps

public boolean isLogTimeStamps()

isStarted

public boolean isStarted()
Specified by:
isStarted in interface LifeCycle

isSuppressStack

public boolean isSuppressStack()

log

public void log(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 -

log

public void log(String tag,
                Object o,
                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
frame - The frame that generated the message.
time - The time stamp of the message.

setAppend

public void setAppend(boolean a)

setFilename

public void setFilename(String filename)

setFlushOn

public void setFlushOn(boolean on)
Parameters:
on - If true, log is flushed on every log.

setLogDateFormat

public void setLogDateFormat(String logDateFormat)

setLogImpl

public void setLogImpl(LogImpl impl)
Specified by:
setLogImpl in interface LogSink

setLogLabels

public void setLogLabels(boolean logLabels)

setLogOneLine

public void setLogOneLine(boolean logOneLine)

setLogStackSize

public void setLogStackSize(boolean logStackSize)

setLogStackTrace

public void setLogStackTrace(boolean logStackTrace)

setLogTags

public void setLogTags(boolean logTags)

setLogTimeStamps

public void setLogTimeStamps(boolean logTimeStamps)

setLogTimeZone

public void setLogTimeZone(String logTimezone)

setLogTimezone

public void setLogTimezone(String logTimezone)

Deprecated. Use setLogTimeZone(String)


setOutputStream

public void setOutputStream(OutputStream out)

setRetainDays

public void setRetainDays(int retainDays)

setSuppressStack

public void setSuppressStack(boolean suppressStack)

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

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