From 1c409ee735cdba9523bc23a77fa4937f0fc64ad4 Mon Sep 17 00:00:00 2001 From: mdb Date: Fri, 31 May 2002 18:47:05 +0000 Subject: [PATCH] Added time stamp and log level info to default log output. git-svn-id: https://samskivert.googlecode.com/svn/trunk@766 6335cc39-0255-0410-8fd6-9bcaacd3b74c --- .../samskivert/util/DefaultLogProvider.java | 32 +++++++++++++++---- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/projects/samskivert/src/java/com/samskivert/util/DefaultLogProvider.java b/projects/samskivert/src/java/com/samskivert/util/DefaultLogProvider.java index 24e30fb9..2d3ef2e4 100644 --- a/projects/samskivert/src/java/com/samskivert/util/DefaultLogProvider.java +++ b/projects/samskivert/src/java/com/samskivert/util/DefaultLogProvider.java @@ -1,5 +1,5 @@ // -// $Id: DefaultLogProvider.java,v 1.3 2001/08/11 22:43:29 mdb Exp $ +// $Id: DefaultLogProvider.java,v 1.4 2002/05/31 18:47:05 mdb Exp $ // // samskivert library - useful routines for java programs // Copyright (C) 2001 Michael Bayne @@ -20,6 +20,8 @@ package com.samskivert.util; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.Hashtable; /** @@ -32,39 +34,55 @@ import java.util.Hashtable; */ public class DefaultLogProvider implements LogProvider { - public void log (int level, String moduleName, String message) + public synchronized 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); + System.err.println(formatEntry(moduleName, level, message)); } } - public void logStackTrace (int level, String moduleName, Throwable t) + public synchronized void logStackTrace ( + int level, String moduleName, Throwable t) { Integer tlevel = (Integer)_levels.get(moduleName); if ((tlevel != null && level >= tlevel.intValue()) || (level >= _level)) { - System.err.println(moduleName + ": " + t.getMessage()); + System.err.println(formatEntry(moduleName, level, t.getMessage())); t.printStackTrace(System.err); } } - public void setLevel (String moduleName, int level) + public synchronized void setLevel (String moduleName, int level) { _levels.put(moduleName, new Integer(level)); } - public void setLevel (int level) + public synchronized void setLevel (int level) { _level = level; _levels.clear(); } + protected synchronized String formatEntry ( + String moduleName, int level, String message) + { + return (_format.format(new Date()) + " " + + LEVEL_CHARS[level] + " " + moduleName + ": " + message); + } + /** The default log level. */ protected int _level = Log.INFO; /** The levels of each module. */ protected Hashtable _levels = new Hashtable(); + + /** Used to accompany log messages with time stamps. */ + protected SimpleDateFormat _format = + new SimpleDateFormat("yyyy/MM/dd HH:mm:ss:SSSS"); + + /** Used to tag log messages with their log level. */ + protected static final String[] LEVEL_CHARS = { "*", "?", "!" }; }