KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > grlea > logBridge > impl > Log4JLogBridgeFactory


1 package org.grlea.logBridge.impl;
2
3 // $Id: Log4JLogBridgeFactory.java,v 1.1 2005/03/02 10:46:03 grlea Exp $
4
// Copyright (c) 2004 Graham Lea. All rights reserved.
5

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

18 import org.grlea.logBridge.LogBridge;
19 import org.grlea.logBridge.LogBridgeFactory;
20
21 import org.apache.log4j.Level;
22 import org.apache.log4j.LogManager;
23 import org.apache.log4j.Logger;
24 import org.apache.log4j.spi.LoggerRepository;
25
26 /**
27  * <p>A {@link LogBridgeFactory} implementation for
28  * <a HREF="http://logging.apache.org/log4j/" target="_blank">Log4j</a>.</p>
29  *
30  * <p>Log Bridge levels convert to log4j's levels as follows:
31  * <table>
32  * <tr><th>Log Bridge</th> <th>Log4j Level</th></tr>
33  * <tr><td>Error</td> <td>{@link Level#ERROR}</td></tr>
34  * <tr><td>Warning</td> <td>{@link Level#WARN}</td></tr>
35  * <tr><td>Info</td> <td>{@link Level#INFO}</td></tr>
36  * <tr><td>Debug</td> <td>{@link Level#DEBUG}</td></tr>
37  * <tr><td>Verbose</td> <td>{@link Level#ALL}</td></tr>
38  * <tr><td>Tracing</td> <td>{@link Level#ALL}</td></tr>
39  * </table>
40  * </p>
41  *
42  * @author grlea
43  * @version $Revision: 1.1 $
44  */

45 public class
46 Log4JLogBridgeFactory
47 implements LogBridgeFactory
48 {
49    private final LoggerRepository repository;
50
51    public
52    Log4JLogBridgeFactory()
53    {
54       this(LogManager.getLoggerRepository());
55    }
56
57    public
58    Log4JLogBridgeFactory(LoggerRepository repository)
59    {
60       this.repository = repository;
61    }
62
63    public LogBridge
64    getLogBridge(Class JavaDoc sourceClass)
65    {
66       return new Bridge(repository.getLogger(sourceClass.getName()));
67    }
68
69    private static final class
70    Bridge
71    implements LogBridge
72    {
73       private static final Level ERROR = Level.ERROR;
74       private static final Level WARN = Level.WARN;
75       private static final Level INFO = Level.INFO;
76       private static final Level DEBUG = Level.DEBUG;
77       private static final Level VERBOSE = Level.ALL;
78       private static final Level TRACE = Level.ALL;
79
80       private final Logger logger;
81
82       public
83       Bridge(Logger logger)
84       {
85          this.logger = logger;
86       }
87
88       public boolean
89       isErrorEnabled()
90       {
91          return logger.isEnabledFor(ERROR);
92       }
93
94       public boolean
95       isWarnEnabled()
96       {
97          return logger.isEnabledFor(WARN);
98       }
99
100       public boolean
101       isInfoEnabled()
102       {
103          return logger.isEnabledFor(INFO);
104       }
105
106       public boolean
107       isDebugEnabled()
108       {
109          return logger.isEnabledFor(DEBUG);
110       }
111
112       public boolean
113       isVerboseEnabled()
114       {
115          return logger.isEnabledFor(VERBOSE);
116       }
117
118       public boolean
119       isTracingEnabled()
120       {
121          return logger.isEnabledFor(TRACE);
122       }
123
124       public void
125       error(String JavaDoc message)
126       {
127          logger.error(message);
128       }
129
130       public void
131       error(String JavaDoc objectName, Object JavaDoc value)
132       {
133          if (isErrorEnabled())
134             logger.log(ERROR, objectName + ": " + value);
135       }
136
137       public void
138       error(Throwable JavaDoc error)
139       {
140          logger.log(ERROR, "", error);
141       }
142
143       public void
144       warn(String JavaDoc message)
145       {
146          logger.warn(message);
147       }
148
149       public void
150       warn(String JavaDoc objectName, Object JavaDoc value)
151       {
152          if (isWarnEnabled())
153             logger.log(WARN, objectName + ": " + value);
154       }
155
156       public void
157       warn(Throwable JavaDoc error)
158       {
159          logger.log(WARN, "", error);
160       }
161
162       public void
163       info(String JavaDoc message)
164       {
165          logger.info(message);
166       }
167
168       public void
169       info(String JavaDoc objectName, Object JavaDoc value)
170       {
171          if (isInfoEnabled())
172             logger.log(INFO, objectName + ": " + value);
173       }
174
175       public void
176       info(Throwable JavaDoc error)
177       {
178          logger.log(INFO, "", error);
179       }
180
181       public void
182       debug(String JavaDoc message)
183       {
184          logger.debug(message);
185       }
186
187       public void
188       debug(String JavaDoc objectName, Object JavaDoc value)
189       {
190          if (isDebugEnabled())
191             logger.log(DEBUG, objectName + ": " + value);
192       }
193
194       public void
195       debug(Throwable JavaDoc error)
196       {
197          logger.log(DEBUG, "", error);
198       }
199
200       public void
201       verbose(String JavaDoc message)
202       {
203          logger.log(VERBOSE, message);
204       }
205
206       public void
207       verbose(String JavaDoc objectName, Object JavaDoc value)
208       {
209          if (isVerboseEnabled())
210             logger.log(VERBOSE, objectName + ": " + value);
211       }
212
213       public void
214       verbose(Throwable JavaDoc error)
215       {
216          logger.log(VERBOSE, "", error);
217       }
218
219       public void
220       entry(String JavaDoc methodName)
221       {
222          logger.log(TRACE, methodName);
223       }
224
225       public void
226       exit(String JavaDoc methodName)
227       {
228          logger.log(TRACE, methodName);
229       }
230    }
231 }
Popular Tags