KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > outerj > daisy > logging > DaisyLog


1 /*
2  * Copyright 2004 Outerthought bvba and Schaubroeck nv
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package org.outerj.daisy.logging;
17
18 import org.apache.commons.logging.Log;
19 import org.apache.avalon.framework.logger.Logger;
20
21 /**
22  * A Log implementation for commons-logging which forwards to an
23  * Avalon logger if available (will normally be the case), or
24  * otherwise only prints messages level WARN and above to the console,
25  * so that these aren't hidden.
26  *
27  * <p>This logger should be specified using a system property, e.g.:
28  * <pre>-Dorg.apache.commons.logging.Log=org.outerj.daisy.logging.DaisyLog</pre>
29  */

30 public class DaisyLog implements Log {
31     private static Logger globalLogger;
32     private Logger logger;
33     private String JavaDoc name;
34
35     protected static void setLogger(Logger logger) {
36         DaisyLog.globalLogger = logger;
37     }
38
39     public DaisyLog(String JavaDoc name) {
40         this.name = name;
41         if (globalLogger != null)
42             this.logger = globalLogger.getChildLogger(name);
43     }
44
45     public boolean isDebugEnabled() {
46         if (getLogger() != null)
47             return getLogger().isDebugEnabled();
48         else
49             return false;
50     }
51
52     public boolean isErrorEnabled() {
53         if (getLogger() != null)
54             return getLogger().isErrorEnabled();
55         else
56             return true;
57     }
58
59     public boolean isFatalEnabled() {
60         if (getLogger() != null)
61             return getLogger().isFatalErrorEnabled();
62         else
63             return true;
64     }
65
66     public boolean isInfoEnabled() {
67         if (getLogger() != null)
68             return getLogger().isInfoEnabled();
69         else
70             return false;
71     }
72
73     public boolean isTraceEnabled() {
74         if (getLogger() != null)
75             return getLogger().isDebugEnabled();
76         else
77             return false;
78     }
79
80     public boolean isWarnEnabled() {
81         if (getLogger() != null)
82             return getLogger().isDebugEnabled();
83         else
84             return false;
85     }
86
87     public void trace(Object JavaDoc object) {
88         if (getLogger() != null)
89             getLogger().debug(formatMessage(object));
90     }
91
92     public void trace(Object JavaDoc object, Throwable JavaDoc throwable) {
93         if (getLogger() != null)
94             getLogger().debug(formatMessage(object), throwable);
95     }
96
97     public void debug(Object JavaDoc object) {
98         if (getLogger() != null)
99             getLogger().debug(formatMessage(object));
100     }
101
102     public void debug(Object JavaDoc object, Throwable JavaDoc throwable) {
103         if (getLogger() != null)
104             getLogger().debug(formatMessage(object), throwable);
105     }
106
107     public void info(Object JavaDoc object) {
108         if (getLogger() != null)
109             getLogger().info(formatMessage(object));
110     }
111
112     public void info(Object JavaDoc object, Throwable JavaDoc throwable) {
113         if (getLogger() != null)
114             getLogger().info(formatMessage(object), throwable);
115     }
116
117     public void warn(Object JavaDoc object) {
118         if (getLogger() != null)
119             getLogger().warn(formatMessage(object));
120         else
121             System.err.println("WARN: " + object);
122     }
123
124     public void warn(Object JavaDoc object, Throwable JavaDoc throwable) {
125         if (getLogger() != null) {
126             getLogger().warn(formatMessage(object), throwable);
127         } else {
128             System.err.println("WARN: " + object);
129             throwable.printStackTrace(System.err);
130         }
131     }
132
133     public void error(Object JavaDoc object) {
134         if (getLogger() != null)
135             getLogger().error(formatMessage(object));
136         else
137             System.err.println("ERROR: " + object);
138     }
139
140     public void error(Object JavaDoc object, Throwable JavaDoc throwable) {
141         if (getLogger() != null) {
142             getLogger().error(formatMessage(object), throwable);
143         } else {
144             System.err.println("ERROR: " + object);
145             throwable.printStackTrace(System.err);
146         }
147     }
148
149     public void fatal(Object JavaDoc object) {
150         if (getLogger() != null)
151             getLogger().fatalError(formatMessage(object));
152         else
153             System.err.println("FATAL: " + object);
154     }
155
156     public void fatal(Object JavaDoc object, Throwable JavaDoc throwable) {
157         if (getLogger() != null) {
158             getLogger().fatalError(formatMessage(object), throwable);
159         } else {
160             System.err.println("FATAL: " + object);
161             throwable.printStackTrace(System.err);
162         }
163     }
164
165     private String JavaDoc formatMessage(Object JavaDoc object) {
166         return object == null ? "null" : object.toString();
167     }
168
169     private Logger getLogger() {
170         if (logger != null) {
171             return logger;
172         } else if (globalLogger != null) {
173             logger = globalLogger.getChildLogger(name);
174             return logger;
175         } else {
176             return null;
177         }
178     }
179 }
180
Popular Tags