Make the logging context (the function we were in when we generated the

message) optional.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@1786 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
mdb
2006-02-16 00:41:21 +00:00
parent 85b6a76cf2
commit 426eedfafe
@@ -37,6 +37,24 @@ import java.util.logging.SimpleFormatter;
*/ */
public class OneLineLogFormatter extends Formatter public class OneLineLogFormatter extends Formatter
{ {
/**
* Creates a log formatter that will include the function from which a log
* entry was generated.
*/
public OneLineLogFormatter ()
{
this(true);
}
/**
* Creates a log formatter that will optionally include or not include the
* function from which a log entry was generated.
*/
public OneLineLogFormatter (boolean showWhere)
{
_showWhere = showWhere;
}
// documentation inherited // documentation inherited
public String format (LogRecord record) public String format (LogRecord record)
{ {
@@ -50,24 +68,26 @@ public class OneLineLogFormatter extends Formatter
buf.append(" "); buf.append(" ");
buf.append(record.getLevel().getLocalizedName()); buf.append(record.getLevel().getLocalizedName());
// append the log method call context if (_showWhere) {
buf.append(" "); // append the log method call context
String where = record.getSourceClassName(); buf.append(" ");
boolean legacy = (where.indexOf("LoggingLogProvider") != -1); String where = record.getSourceClassName();
if (where != null && !legacy) { boolean legacy = (where.indexOf("LoggingLogProvider") != -1);
String logger = record.getLoggerName(); if (where != null && !legacy) {
if (logger != null && where.startsWith(logger) && String logger = record.getLoggerName();
where.length() > logger.length()) { if (logger != null && where.startsWith(logger) &&
where = where.substring(logger.length()+1); where.length() > logger.length()) {
where = where.substring(logger.length()+1);
}
} else {
where = record.getLoggerName();
}
buf.append(where);
if (record.getSourceMethodName() != null && !legacy) {
buf.append(".");
buf.append(record.getSourceMethodName());
} }
} else {
where = record.getLoggerName();
} }
buf.append(where);
if (record.getSourceMethodName() != null && !legacy) {
buf.append(".");
buf.append(record.getSourceMethodName());
}
// append the message itself // append the message itself
buf.append(": "); buf.append(": ");
@@ -94,15 +114,25 @@ public class OneLineLogFormatter extends Formatter
* formatter when formatting messages. * formatter when formatting messages.
*/ */
public static void configureDefaultHandler () public static void configureDefaultHandler ()
{
configureDefaultHandler(true);
}
/**
* Configures the default logging handler to use an instance of this
* formatter when formatting messages.
*/
public static void configureDefaultHandler (boolean showWhere)
{ {
Logger logger = LogManager.getLogManager().getLogger(""); Logger logger = LogManager.getLogManager().getLogger("");
Handler[] handlers = logger.getHandlers(); Handler[] handlers = logger.getHandlers();
OneLineLogFormatter formatter = new OneLineLogFormatter(); OneLineLogFormatter formatter = new OneLineLogFormatter(showWhere);
for (int ii = 0; ii < handlers.length; ii++) { for (int ii = 0; ii < handlers.length; ii++) {
handlers[ii].setFormatter(formatter); handlers[ii].setFormatter(formatter);
} }
} }
protected boolean _showWhere;
protected Date _date = new Date(); protected Date _date = new Date();
protected SimpleDateFormat _format = protected SimpleDateFormat _format =
new SimpleDateFormat("yyyy/MM/dd HH:mm:ss:SSS"); new SimpleDateFormat("yyyy/MM/dd HH:mm:ss:SSS");