001: /**********************************************************************
002: Copyright (c) 2006 Andy Jefferson and others. All rights reserved.
003: Licensed under the Apache License, Version 2.0 (the "License");
004: you may not use this file except in compliance with the License.
005: You may obtain a copy of the License at
006:
007: http://www.apache.org/licenses/LICENSE-2.0
008:
009: Unless required by applicable law or agreed to in writing, software
010: distributed under the License is distributed on an "AS IS" BASIS,
011: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
012: See the License for the specific language governing permissions and
013: limitations under the License.
014:
015: Contributors:
016: ...
017: **********************************************************************/package org.jpox.util;
018:
019: import org.apache.log4j.Logger;
020:
021: /**
022: * Log4J implementation of a JPOXLogger.
023: * See http://logging.apache.org/log4j for details of Log4J.
024: * Assumes that all configuration of the loggers are done by external
025: * configuration (System property "log4j.configuration").
026: * Maps JPOX logging levels as follows :
027: * <ul>
028: * <li>debug maps to Log4J <i>DEBUG</i></li>
029: * <li>info maps to Log4J <i>INFO</i></li>
030: * <li>warn maps to Log4J <i>WARN</i></li>
031: * <li>error maps to Log4J <i>ERROR</i></li>
032: * <li>fatal maps to Log4J <i>FATAL</i></li>
033: * </ul>
034: *
035: * @version $Revision: 1.4 $
036: */
037: public class Log4JLogger extends JPOXLogger {
038: /** The Log4J logger being used */
039: private Logger logger = null;
040:
041: /**
042: * Constructor for a JPOXLogger using Log4J.
043: * @param logName Name of the logging category
044: */
045: public Log4JLogger(String logName) {
046: // Logging assumed to be configured by user via "log4j.configuration"
047: // Use Logger instead of LogManager so that "logback" (http://logback.qos.ch) can work
048: logger = Logger.getLogger(logName);
049: }
050:
051: /**
052: * Log a debug message.
053: * @param msg The message
054: */
055: public void debug(Object msg) {
056: logger.debug(msg);
057: }
058:
059: /**
060: * Log a debug message with throwable.
061: * @param msg The message
062: * @param thr A throwable
063: */
064: public void debug(Object msg, Throwable thr) {
065: logger.debug(msg, thr);
066: }
067:
068: /**
069: * Log an info message.
070: * @param msg The message
071: */
072: public void info(Object msg) {
073: logger.info(msg);
074: }
075:
076: /**
077: * Log an info message with throwable.
078: * @param msg The message
079: * @param thr A throwable
080: */
081: public void info(Object msg, Throwable thr) {
082: logger.info(msg, thr);
083: }
084:
085: /**
086: * Log a warning message.
087: * @param msg The message
088: */
089: public void warn(Object msg) {
090: logger.warn(msg);
091: }
092:
093: /**
094: * Log a warning message with throwable.
095: * @param msg The message
096: * @param thr A throwable
097: */
098: public void warn(Object msg, Throwable thr) {
099: logger.warn(msg, thr);
100: }
101:
102: /**
103: * Log an error message.
104: * @param msg The message
105: */
106: public void error(Object msg) {
107: logger.error(msg);
108: }
109:
110: /**
111: * Log an error message with throwable.
112: * @param msg The message
113: * @param thr A throwable
114: */
115: public void error(Object msg, Throwable thr) {
116: logger.error(msg, thr);
117: }
118:
119: /**
120: * Log an fatal message.
121: * @param msg The message
122: */
123: public void fatal(Object msg) {
124: logger.fatal(msg);
125: }
126:
127: /**
128: * Log a fatal message with throwable.
129: * @param msg The message
130: * @param thr A throwable
131: */
132: public void fatal(Object msg, Throwable thr) {
133: logger.fatal(msg, thr);
134: }
135:
136: /**
137: * Accessor for whether debug logging is enabled
138: * @return Whether it is enabled
139: */
140: public boolean isDebugEnabled() {
141: return logger.isDebugEnabled();
142: }
143:
144: /**
145: * Accessor for whether info logging is enabled
146: * @return Whether it is enabled
147: */
148: public boolean isInfoEnabled() {
149: return logger.isInfoEnabled();
150: }
151: }
|