1 // Copyright (c) 2000 Just Objects B.V. <just@justobjects.nl>
2 // Distributable under LGPL license. See terms of license at gnu.org.
3 
4 package nl.justobjects.pushlet.util;
5 
6 /**
7  * Default logger.
8  * <p/>
9  * Logs to stdout. Override this class by setting "logging.class" in pushlet.properties to your own logger
10 * to integrate your own logging library.
11 *
12 * @author Just van den Broecke
13 * @version $Id: DefaultLogger.java,v 1.1 2007/11/23 21:10:17 justb Exp $
14 */
15public class DefaultLogger {
16    private static int LEVEL_FATAL = 1;
17    private static int LEVEL_ERROR = 2;
18    private static int LEVEL_WARN = 3;
19    private static int LEVEL_INFO = 4;
20    private static int LEVEL_DEBUG = 5;
21    private static int LEVEL_TRACE = 6;
22
23    /**
24     * Level intialized with default.
25     */
26    private static int level = LEVEL_INFO;
27
28    public DefaultLogger() {
29    }
30
31    public void init() {
32
33    }
34
35    /**
36     * Log message for trace level.
37     *
38     * @param aMessage the message to be logged
39     */
40    public void trace(String aMessage) {
41        if (level < LEVEL_TRACE) {
42            return;
43        }
44        print("TRACE", aMessage);
45    }
46
47    /**
48     * Log message for debug level.
49     *
50     * @param aMessage the message to be logged
51     */
52    public void debug(String aMessage) {
53        if (level < LEVEL_DEBUG) {
54            return;
55        }
56        print("DEBUG", aMessage);
57    }
58
59    /**
60     * Log message for info level.
61     *
62     * @param aMessage the message to be logged
63     */
64    public void info(String aMessage) {
65        if (level < LEVEL_INFO) {
66            return;
67        }
68        print("INFO", aMessage);
69    }
70
71    /**
72     * Log message for warning level.
73     *
74     * @param aMessage the message to be logged
75     */
76    public void warn(String aMessage) {
77        if (level < LEVEL_WARN) {
78            return;
79        }
80        print("WARN", aMessage);
81    }
82
83    /**
84     * Log message for warning level with exception.
85     *
86     * @param aMessage   the message to be logged
87     * @param aThrowable the exception
88     */
89    public void warn(String aMessage, Throwable aThrowable) {
90        warn(aMessage + " exception=" + aThrowable);
91    }
92
93    /**
94     * Log message for error level.
95     *
96     * @param aMessage the message to be logged
97     */
98    public void error(String aMessage) {
99        if (level < LEVEL_ERROR) {
00            return;
01        }
02        print("FATAL", aMessage);
03    }
04
05    /**
06     * Log message (error level with exception).
07     *
08     * @param aMessage   the message to be logged
09     * @param aThrowable the exception
10     */
11    public void error(String aMessage, Throwable aThrowable) {
12        error(aMessage + " exception=" + aThrowable);
13    }
14
15    /**
16     * Log message for fatal level.
17     *
18     * @param aMessage the message to be logged
19     */
20    public void fatal(String aMessage) {
21        if (level < LEVEL_FATAL) {
22            return;
23        }
24        print("FATAL", aMessage);
25    }
26
27    /**
28     * Log message (fatal level with exception).
29     *
30     * @param aMessage   the message to be logged
31     * @param aThrowable the exception
32     */
33    public void fatal(String aMessage, Throwable aThrowable) {
34        fatal(aMessage + " exception=" + aThrowable);
35    }
36
37    /**
38     * Set log level
39     *
40     * @param aLevel the message to be logged
41     */
42    public void setLevel(int aLevel) {
43        level = aLevel;
44    }
45
46    /**
47     * Print message.
48     *
49     * @param aTag   the log type
50     * @param aMessage the message to be logged
51     */
52    private void print(String aTag, String aMessage) {
53        // SImple std out e.g. to catalina.out in Tomcat
54        System.out.println("Pushlet[" + aTag + "] " + aMessage);
55    }
56
57}
58
59/*
60* $Log: DefaultLogger.java,v $
61* Revision 1.1  2007/11/23 21:10:17  justb
62* add hooks for custom logging (you can override DefaultLogger in pushlet.properties)
63*
64*
65*
66*/