From 16618d72e561c87266983901c21d085185428b48 Mon Sep 17 00:00:00 2001 From: mdb Date: Wed, 6 Dec 2000 03:21:59 +0000 Subject: [PATCH] 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 --- .../samskivert/util/DefaultLogProvider.java | 40 +++++++++++++++++++ .../src/java/com/samskivert/util/Log.java | 10 ++++- .../src/java/com/samskivert/util/Makefile | 3 +- 3 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 projects/samskivert/src/java/com/samskivert/util/DefaultLogProvider.java diff --git a/projects/samskivert/src/java/com/samskivert/util/DefaultLogProvider.java b/projects/samskivert/src/java/com/samskivert/util/DefaultLogProvider.java new file mode 100644 index 00000000..caee4eec --- /dev/null +++ b/projects/samskivert/src/java/com/samskivert/util/DefaultLogProvider.java @@ -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 + * System.err 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(); +} diff --git a/projects/samskivert/src/java/com/samskivert/util/Log.java b/projects/samskivert/src/java/com/samskivert/util/Log.java index 45fa8204..66a9dd66 100644 --- a/projects/samskivert/src/java/com/samskivert/util/Log.java +++ b/projects/samskivert/src/java/com/samskivert/util/Log.java @@ -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; @@ -83,12 +83,18 @@ public final class Log _provider.setLevel(level); } + /** + * Instructs the logging services to use the specified log provider to + * perform the actual logging. + */ public static void setLogProvider (LogProvider provider) { _provider = provider; } + /** The name of the module to which this log instance is associated. */ protected String _moduleName; - protected static LogProvider _provider; + /** The log provider currently in use by the log services. */ + protected static LogProvider _provider = new DefaultLogProvider(); } diff --git a/projects/samskivert/src/java/com/samskivert/util/Makefile b/projects/samskivert/src/java/com/samskivert/util/Makefile index e4e8fcb4..cd38926f 100644 --- a/projects/samskivert/src/java/com/samskivert/util/Makefile +++ b/projects/samskivert/src/java/com/samskivert/util/Makefile @@ -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 = ../../.. SRCS = \ + DefaultLogProvider.java \ Log.java \ LogProvider.java \ PropertiesUtil.java \