Created a default log provider so that logging does something by default.

git-svn-id: https://samskivert.googlecode.com/svn/trunk@21 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
mdb
2000-12-06 03:21:59 +00:00
parent f6539f6f10
commit 16618d72e5
3 changed files with 50 additions and 3 deletions
@@ -0,0 +1,40 @@
//
// $Id: DefaultLogProvider.java,v 1.1 2000/12/06 03:21:59 mdb Exp $
package com.samskivert.util;
import java.util.Hashtable;
/**
* If no log provider is registered with the log services, the default
* provider will be used. The default provider simple logs messages to
* <code>System.err</code> and manages log levels in a simplistic way.
*/
public class DefaultLogProvider implements LogProvider
{
public void log (int level, String moduleName, String message)
{
Integer tlevel = (Integer)_levels.get(moduleName);
if ((tlevel != null && level >= tlevel.intValue()) ||
(level >= _level)) {
System.err.println(moduleName + ": " + message);
}
}
public void setLevel (String moduleName, int level)
{
_levels.put(moduleName, new Integer(level));
}
public void setLevel (int level)
{
_level = level;
_levels.clear();
}
/** The default log level. */
protected int _level = Log.INFO;
/** The levels of each module. */
protected Hashtable _levels = new Hashtable();
}
@@ -1,5 +1,5 @@
// //
// $Id: Log.java,v 1.1 2000/12/06 00:24:46 mdb Exp $ // $Id: Log.java,v 1.2 2000/12/06 03:21:59 mdb Exp $
package com.samskivert.util; package com.samskivert.util;
@@ -83,12 +83,18 @@ public final class Log
_provider.setLevel(level); _provider.setLevel(level);
} }
/**
* Instructs the logging services to use the specified log provider to
* perform the actual logging.
*/
public static void setLogProvider (LogProvider provider) public static void setLogProvider (LogProvider provider)
{ {
_provider = provider; _provider = provider;
} }
/** The name of the module to which this log instance is associated. */
protected String _moduleName; protected String _moduleName;
protected static LogProvider _provider; /** The log provider currently in use by the log services. */
protected static LogProvider _provider = new DefaultLogProvider();
} }
@@ -1,9 +1,10 @@
# #
# $Id: Makefile,v 1.3 2000/12/06 00:24:46 mdb Exp $ # $Id: Makefile,v 1.4 2000/12/06 03:21:59 mdb Exp $
ROOT = ../../.. ROOT = ../../..
SRCS = \ SRCS = \
DefaultLogProvider.java \
Log.java \ Log.java \
LogProvider.java \ LogProvider.java \
PropertiesUtil.java \ PropertiesUtil.java \