KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > util > logging > java > MMBaseLogger


1 /*
2 This software is OSI Certified Open Source Software.
3 OSI Certified is a certification mark of the Open Source Initiative.
4
5 The license (Mozilla version 1.0) can be read at the MMBase site.
6 See http://www.MMBase.org/license
7
8 */

9
10 package org.mmbase.util.logging.java;
11
12 import org.mmbase.util.logging.*;
13 import java.util.logging.LogRecord JavaDoc;
14 import java.util.logging.Level JavaDoc;
15
16
17 /**
18  * Since java 1.4 there is a Logger implemented in java itself, if you have code which requests a
19  * java.util.logging.Logger object to which it will log to, and you want it to log the MMBase logger
20  * then, you can offer it an instance of this class, which wraps an MMBase Logger object in a
21  * java.util.logging.Logger object.
22  *
23  * For the correspondence between levels of java logging and mmbase logging see javadoc of
24  * {@link org.mmbase.util.logging.java.Impl}.
25  *
26  * @author Michiel Meeuwissen
27  * @since MMBase-1.8
28  * @see org.mmbase.util.logging.java.Impl
29  */

30
31
32 public class MMBaseLogger extends java.util.logging.Logger JavaDoc {
33     
34     Logger log = null;
35
36     /**
37      * Instantiates a java Logger wich logs to the MMBase logger with category {@link java.util.logging.LogRecord#getLoggerName}.
38      */

39     public MMBaseLogger() {
40         super(null, null);
41     }
42
43     /**
44      * Instantiated a java Logger wich logs to the given MMBase logger.
45      */

46     public MMBaseLogger(Logger log) {
47         super(null, null);
48         this.log = log;
49     }
50
51     /**
52      * See {@link java.util.logging.Logger#log(LogRecord)}.
53      */

54     public void log(LogRecord JavaDoc record) {
55
56         Logger l;
57         if (log == null) {
58             l = Logging.getLoggerInstance(record.getLoggerName());
59         } else {
60             l = log;
61         }
62
63         String JavaDoc message = record.getMessage();
64         int level = record.getLevel().intValue();
65         if (level >= Level.SEVERE.intValue()) {
66             l.error(message);
67         } else if (level >= Level.WARNING.intValue()) {
68             l.warn(message);
69         } else if (level >= Level.INFO.intValue()) {
70             l.info(message);
71         } else if (level >= Level.CONFIG.intValue()) {
72             l.service(message);
73         } else if (level >= Level.FINE.intValue()) {
74             l.debug(message);
75         } else {
76             l.trace(message);
77         }
78     }
79
80 }
81
82
Popular Tags