Package org.geotools.util.logging
Class MonolineFormatter
-
public class MonolineFormatter extends Formatter
A formatter writting log messages on a single line. Compared toSimpleFormatter
, this formatter uses only one line per message instead of two. For example a message formatted byMonolineFormatter
looks like:FINE core - A log message logged with level FINE from the "org.geotools.core" logger.
MonolineFormatter
displays only the level and the message. Additional fields can be formatted ifsetTimeFormat(java.lang.String)
orsetSourceFormat(java.lang.String)
methods are invoked with a non-null argument. The format can also be set from thejre/lib/logging.properties
file. For example, user can cut and paste the following properties intologging.properties
:############################################################ # Properties for the Geotools's MonolineFormatter. # By default, the monoline formatter display only the level # and the message. Additional fields can be specified here: # # time: If set, writes the time ellapsed since the initialization. # The argument specifies the output pattern. For example, the # pattern HH:mm:ss.SSSS displays the hours, minutes, seconds # and milliseconds. # # source: If set, writes the source logger or the source class name. # The argument specifies the type of source to display. Valid # values are none, logger:short, logger:long, class:short and # class:long. ############################################################ org.geotools.util.logging.MonolineFormatter.time = HH:mm:ss.SSS org.geotools.util.logging.MonolineFormatter.source = class:short
MonolineFormatter
for the whole system with level FINE and "Cp850" page encoding (which is appropriate for some DOS command lines on Windows).java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter java.util.logging.ConsoleHandler.encoding = Cp850 java.util.logging.ConsoleHandler.level = FINE
- Since:
- 2.0
- Author:
- Martin Desruisseaux (IRD)
-
-
Constructor Summary
Constructors Constructor Description MonolineFormatter()
Constructs a defaultMonolineFormatter
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MonolineFormatter
configureConsoleHandler(Logger logger, Level level)
Setup aMonolineFormatter
for the specified logger and its children.String
format(LogRecord record)
Formats the given log record and return the formatted string.String
getSourceFormat()
Returns the format for displaying the source.String
getTimeFormat()
Returns the format for displaying ellapsed time.void
setSourceFormat(String format)
Sets the format for displaying the source.void
setTimeFormat(String pattern)
Sets the format for displaying ellapsed time.-
Methods inherited from class Formatter
formatMessage, getHead, getTail
-
-
-
-
Method Detail
-
setTimeFormat
public void setTimeFormat(String pattern)
Sets the format for displaying ellapsed time. The pattern must matches the format specified inSimpleDateFormat
. For example, the pattern"HH:mm:ss.SSS"
will display the ellapsed time in hours, minutes, seconds and milliseconds.- Parameters:
pattern
- The time patter, ornull
to disable time formatting.
-
getTimeFormat
public String getTimeFormat()
Returns the format for displaying ellapsed time. This is the pattern specified to the last call tosetTimeFormat(java.lang.String)
, or the patten specified in theorg.geotools.MonolineFormater.time
property in thejre/lib/logging.properties
file.- Returns:
- The time pattern, or
null
if time is not formatted.
-
setSourceFormat
public void setSourceFormat(String format)
Sets the format for displaying the source. The pattern may be one of the following:"none"
,"logger:short"
,"class:short"
,"logger:long"
or"class:long"
.The difference between a
null
and"none"
is thatnull
may be replaced by a default value, while"none"
means that the user explicitly requested no source.- Parameters:
format
- The format for displaying the source.
-
getSourceFormat
public String getSourceFormat()
Returns the format for displaying the source. This is the pattern specified to the last call tosetSourceFormat(java.lang.String)
, or the patten specified in theorg.geotools.MonolineFormater.source
property in thejre/lib/logging.properties
file.- Returns:
- The source pattern, or
null
if source is not formatted.
-
format
public String format(LogRecord record)
Formats the given log record and return the formatted string.
-
configureConsoleHandler
public static MonolineFormatter configureConsoleHandler(Logger logger, Level level)
Setup aMonolineFormatter
for the specified logger and its children. This method search for all instances ofConsoleHandler
using theSimpleFormatter
. If such instances are found, they are replaced by a single instance ofMonolineFormatter
. If no suchConsoleHandler
are found, then a new one is created with thisMonolineFormatter
.In addition, this method can set the handler levels. If the level is non-null, then all
Handler
s using the monoline formatter will be set to the specified level. This is provided for convenience, but non-nulllevel
argument should be avoided as much as possible because it overrides user's level settings. A user trying to configure his logging properties file may find confusing to see his setting ignored.- Parameters:
logger
- The base logger to apply the change on.level
- The desired level, ornull
if no level should be set.- Returns:
- The registered
MonolineFormatter
(nevernull
). The formatter output can be configured using thesetTimeFormat(java.lang.String)
andsetSourceFormat(java.lang.String)
methods.
-
-