rdonkin 02/01/03 10:59:57
Modified: logging/src/java/org/apache/commons/logging
Log4JCategoryLog.java
Log:
This class now inherits from AbstractLog and log level checking is enforced
Revision Changes Path
1.7 +132 -50
jakarta-commons/logging/src/java/org/apache/commons/logging/Log4JCategoryLog.java
Index: Log4JCategoryLog.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/logging/src/java/org/apache/commons/logging/Log4JCategoryLog.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- Log4JCategoryLog.java 4 Dec 2001 04:28:03 -0000 1.6
+++ Log4JCategoryLog.java 3 Jan 2002 18:59:57 -0000 1.7
@@ -1,11 +1,65 @@
/*
- * Copyright (C) The Apache Software Foundation. All rights reserved.
+ * $Header:
/home/cvs/jakarta-commons/logging/src/java/org/apache/commons/logging/Log4JCategoryLog.java,v
1.7 2002/01/03 18:59:57 rdonkin Exp $
+ * $Revision: 1.7 $
+ * $Date: 2002/01/03 18:59:57 $
+ *
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999-2001 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Commons", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact [EMAIL PROTECTED]
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
*
- * This software is published under the terms of the Apache Software License
- * version 1.1, a copy of which has been included with this distribution in
- * the LICENSE file.
*/
+
package org.apache.commons.logging;
import org.apache.log4j.Category;
@@ -17,92 +71,120 @@
* Category instances should be done in the usual manner, as outlined in
* the Log4J documentation.</p>
*
+ * <p> Log level management is now independent of the Log4J configuration.
+ * Log4J will not be called unless the log level is currently enabled. </p>
+ *
* @author Rod Waldhoff
- * @version $Id: Log4JCategoryLog.java,v 1.6 2001/12/04 04:28:03 craigmcc Exp $
+ * @author Robert Burrell Donkin
+ *
+ * @version $Id: Log4JCategoryLog.java,v 1.7 2002/01/03 18:59:57 rdonkin Exp $
*/
-public class Log4JCategoryLog implements Log {
+public final class Log4JCategoryLog extends AbstractLog {
+
+ // --------------------------------------------------------- Attributes
+
+ /** Log to this category */
Category _category = null;
+
+
+ // --------------------------------------------------------- Constructor
+
+
+ /**
+ * Base constructor
+ */
public Log4JCategoryLog(String name) {
+ // the default log level for log4j should be ALL
+ // so that control of logging is delegated to Log4J.
+ // of course, this can be override programmatically for a particular log
instance.
+ setLevel(Log.ALL);
_category = Category.getInstance(name);
}
- public final void debug(Object message) {
+ // --------------------------------------------------------- Implmentation
+
+ /**
+ * Simply call log4j category.
+ */
+ protected final void debugImpl(Object message) {
_category.debug(message);
}
- public final void debug(Object message, Throwable t) {
+ /**
+ * Simply call log4j category.
+ */
+ protected final void debugImpl(Object message, Throwable t) {
_category.debug(message,t);
}
- public final void info(Object message) {
+ /**
+ * Simply call log4j category.
+ */
+ protected final void infoImpl(Object message) {
_category.info(message);
}
- public final void info(Object message, Throwable t) {
+ /**
+ * Simply call log4j category.
+ */
+ protected final void infoImpl(Object message, Throwable t) {
_category.info(message,t);
}
- public final void warn(Object message) {
+ /**
+ * Simply call log4j category.
+ */
+ protected final void warnImpl(Object message) {
_category.warn(message);
}
- public final void warn(Object message, Throwable t) {
+
+ /**
+ * Simply call log4j category.
+ */
+ protected final void warnImpl(Object message, Throwable t) {
_category.warn(message,t);
}
- public final void error(Object message) {
+ /**
+ * Simply call log4j category.
+ */
+ protected final void errorImpl(Object message) {
_category.error(message);
}
- public final void error(Object message, Throwable t) {
+ /**
+ * Simply call log4j category.
+ */
+ protected final void errorImpl(Object message, Throwable t) {
_category.error(message,t);
}
- public final void fatal(Object message) {
+ /**
+ * Simply call log4j category.
+ */
+ protected final void fatalImpl(Object message) {
_category.fatal(message);
}
- public final void fatal(Object message, Throwable t) {
+ /**
+ * Simply call log4j category.
+ */
+ protected final void fatalImpl(Object message, Throwable t) {
_category.fatal(message,t);
}
- public final boolean isDebugEnabled() {
+ /**
+ * Simply call log4j category.
+ */
+ protected final boolean isDebugEnabledImpl() {
return _category.isDebugEnabled();
}
- public final boolean isInfoEnabled() {
+ /**
+ * Simply call log4j category.
+ */
+ protected final boolean isInfoEnabledImpl() {
return _category.isInfoEnabled();
}
-
- public final boolean isEnabledFor(Priority p) {
- return _category.isEnabledFor(p);
- }
-
- public final void setLevel(int level) {
- switch(level) {
- case Log.DEBUG:
- _category.setPriority(Priority.DEBUG);
- break;
- case Log.INFO:
- _category.setPriority(Priority.INFO);
- break;
- case Log.WARN:
- _category.setPriority(Priority.WARN);
- break;
- case Log.ERROR:
- _category.setPriority(Priority.ERROR);
- break;
- case Log.FATAL:
- _category.setPriority(Priority.FATAL);
- break;
- default:
- _category.setPriority(Priority.toPriority(level));
- break;
- }
- }
-
- public final int getLevel() {
- return _category.getPriority().toInt();
- }
-
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>