You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-cvs@jakarta.apache.org by ce...@apache.org on 2001/09/05 08:45:29 UTC
cvs commit: jakarta-log4j/src/java/org/apache/log4j/xml/test DisableOverrideTest.java
ceki 01/09/04 23:45:29
Modified: build build.xml
docs HISTORY deepExtension.html
src/java/org/apache/log4j AppenderSkeleton.java
BasicConfigurator.java Category.java Hierarchy.java
LogManager.java Makefile PropertyConfigurator.java
StressCategory.java
src/java/org/apache/log4j/config PropertySetter.java
src/java/org/apache/log4j/helpers OptionConverter.java
src/java/org/apache/log4j/net JMSSink.java Makefile
SimpleSocketServer.java SocketNode.java
SocketServer.java
src/java/org/apache/log4j/performance NotLogging.java
src/java/org/apache/log4j/spi Configurator.java
LoggerRepository.java LoggingEvent.java Makefile
src/java/org/apache/log4j/test ShippedCodeFlagTest.java
SysoutConfigurator.java UnitTestLogger.java
src/java/org/apache/log4j/xml DOMConfigurator.java
src/java/org/apache/log4j/xml/examples XLogger.java
src/java/org/apache/log4j/xml/test DisableOverrideTest.java
Log:
- The use of LogManager is now *pervasive*. This is a big change.
- Fixed some backward compatibility problems.
Revision Changes Path
1.43 +1 -0 jakarta-log4j/build/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-log4j/build/build.xml,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- build.xml 2001/09/03 22:40:55 1.42
+++ build.xml 2001/09/05 06:45:28 1.43
@@ -135,6 +135,7 @@
includes="${stem}/**/*.java, ${stem}/xml/XMLLayout.java,"
classpath="${classpath}"
excludes="misc/*, **/UnitTest*.java,
+ **/StressCategory.java,
**/doc-files/*,
${stem}/xml/**,
${stem}/gui/**,
1.63 +3 -0 jakarta-log4j/docs/HISTORY
Index: HISTORY
===================================================================
RCS file: /home/cvs/jakarta-log4j/docs/HISTORY,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -r1.62 -r1.63
--- HISTORY 2001/09/04 15:23:52 1.62
+++ HISTORY 2001/09/05 06:45:28 1.63
@@ -50,6 +50,9 @@
deprecated methods. They have become totally redundant after we
moved to JavaBeans style configuration in log4j 1.1.
+ - Remoced deprecated method disable(Priority), disableAll,
+ disableDebug, disableInfo and enableAll in BasicConfigurator. [*]
+
- Added supports java.io.Reader objects in the method doConfigure(),
instead of only InputStream. Thanks to Mark Womack for submitting
the relevant patch. [*]
1.9 +1 -1 jakarta-log4j/docs/deepExtension.html
Index: deepExtension.html
===================================================================
RCS file: /home/cvs/jakarta-log4j/docs/deepExtension.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- deepExtension.html 2001/07/29 16:37:26 1.8
+++ deepExtension.html 2001/09/05 06:45:28 1.9
@@ -163,7 +163,7 @@
<ul>
<li><code><a href="api/org/apache/log4j/PatternLayout.html">org.apache.log4j.PatternLayout</a></code>
<li><code><a href="api/org/apache/log4j/Category.html">org.apache.log4j.Category</a></code>
-<li><code><a href="api/org/apache/log4j/spi/CategoryFactory.html">org.apache.log4j.spi.CategoryFactory</a></code>
+<li><code><a href="api/org/apache/log4j/spi/LoggerFactory.html">org.apache.log4j.spi.CategoryFactory</a></code>
<li><code><a href="api/org/apache/log4j/spi/LoggingEvent.html">org.apache.log4j.spi.LoggingEvent</a></code>
<li><code><a href="api/org/apache/log4j/helpers/PatternParser.html">org.apache.log4j.helpers.PatternParser</a></code>
<li><code><a href="api/org/apache/log4j/helpers/PatternConverter.html">org.apache.log4j.helpers.PatternConverter</a></code>
1.18 +1 -1 jakarta-log4j/src/java/org/apache/log4j/AppenderSkeleton.java
Index: AppenderSkeleton.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/AppenderSkeleton.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- AppenderSkeleton.java 2001/09/04 20:06:23 1.17
+++ AppenderSkeleton.java 2001/09/05 06:45:28 1.18
@@ -268,7 +268,7 @@
@since 0.8.3 */
public
- void setThreshold(Level threshold) {
+ void setThreshold(Priority threshold) {
this.threshold = threshold;
}
}
1.19 +9 -57 jakarta-log4j/src/java/org/apache/log4j/BasicConfigurator.java
Index: BasicConfigurator.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/BasicConfigurator.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- BasicConfigurator.java 2001/09/02 20:05:39 1.18
+++ BasicConfigurator.java 2001/09/05 06:45:28 1.19
@@ -14,6 +14,8 @@
import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.helpers.Loader;
import org.apache.log4j.helpers.OptionConverter;
+import org.apache.log4j.spi.LoggerRepository;
+import org.apache.log4j.spi.RendererSupport;
import org.apache.log4j.or.ObjectRenderer;
import org.apache.log4j.or.RendererMap;
import java.util.Enumeration;
@@ -80,11 +82,11 @@
static {
String override = OptionConverter.getSystemProperty(DISABLE_OVERRIDE_KEY, null);
if(override != null) {
- Category.defaultHierarchy.setDisableOverride(override);
+ //Category.defaultHierarchy.setDisableOverride(override);
} else { // check for log4j.disable only in absence of log4j.disableOverride
String disableStr = OptionConverter.getSystemProperty(DISABLE_KEY, null);
if(disableStr != null) {
- Category.defaultHierarchy.disable(disableStr);
+ LogManager.getLoggerRepository().disable(disableStr);
}
}
}
@@ -97,7 +99,8 @@
Used by subclasses to add a renderer to the hierarchy passed as parameter.
*/
protected
- void addRenderer(Hierarchy hierarchy, String renderedClassName,
+ static
+ void addRenderer(RendererSupport repository, String renderedClassName,
String renderingClassName) {
LogLog.debug("Rendering class: ["+renderingClassName+"], Rendered class: ["+
renderedClassName+"].");
@@ -111,13 +114,13 @@
} else {
try {
Class renderedClass = Loader.loadClass(renderedClassName);
- hierarchy.rendererMap.put(renderedClass, renderer);
+ repository.setRenderer(renderedClass, renderer);
} catch(ClassNotFoundException e) {
LogLog.error("Could not find class ["+renderedClassName+"].", e);
}
}
}
-
+
/**
See {@link Hierarchy#disable(String)}.
@@ -138,48 +141,6 @@
}
-
- /**
- See {@link Hierarchy#disableAll()}.
-
- @deprecated Use <code>Category.getDefaultHierarchy().disableAll()</code> instead. */
- public
- static
- void disableAll() {
- Category.getDefaultHierarchy().disable(Level.FATAL);
- }
-
- /**
- See {@link Hierarchy#disableDebug()}.
-
- @deprecated Use <code>Category.getDefaultHierarchy().disableDebug()</code> instead. */
- public
- static
- void disableDebug() {
- Category.getDefaultHierarchy().disable(Level.DEBUG);
- }
-
- /**
- See {@link Hierarchy#disableInfo()}.
-
- @deprecated Use <code>Category.getDefaultHierarchy().disableInfo()</code> instead. */
- public
- static
- void disableInfo() {
- Category.getDefaultHierarchy().disable(Level.INFO);
- }
-
-
- /**
- See {@link Hierarchy#enableAll()}.
-
- @deprecated Use <code>Category.getDefaultHierarchy().enableAll()</code> instead. */
- public
- static
- void enableAll() {
- Category.getDefaultHierarchy().disable(Level.INFO);
- }
-
/**
Add a {@link FileAppender} that uses {@link PatternLayout} using
the {@link PatternLayout#TTCC_CONVERSION_PATTERN} and prints to
@@ -212,15 +173,6 @@
public
static
void resetConfiguration() {
- Category.defaultHierarchy.resetConfiguration();
- }
-
- /**
- @deprecated Use <code>hierarchy.resetConfiguration()</code> instead.
- */
- public
- static
- void resetConfiguration(Hierarchy hierarchy) {
- hierarchy.resetConfiguration();
+ LogManager.resetConfiguration();
}
}
1.48 +74 -55 jakarta-log4j/src/java/org/apache/log4j/Category.java
Index: Category.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/Category.java,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -r1.47 -r1.48
--- Category.java 2001/09/04 20:06:23 1.47
+++ Category.java 2001/09/05 06:45:28 1.48
@@ -25,6 +25,7 @@
import org.apache.log4j.spi.AppenderAttachable;
import org.apache.log4j.spi.LoggerFactory;
import org.apache.log4j.spi.LoggingEvent;
+import org.apache.log4j.spi.LoggerRepository;
import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.helpers.NullEnumeration;
import org.apache.log4j.helpers.OptionConverter;
@@ -57,10 +58,10 @@
/**
The hierarchy where categories are attached to by default.
*/
- static
- public
- final Hierarchy defaultHierarchy = new Hierarchy(new
- RootCategory(Level.DEBUG));
+ //static
+ //public
+ //final Hierarchy defaultHierarchy = new Hierarchy(new
+ // RootCategory(Level.DEBUG));
/**
@@ -170,7 +171,7 @@
if(url != null) {
LogLog.debug("Using URL ["+url+"] for automatic log4j configuration.");
OptionConverter.selectAndConfigure(url, configuratorClassName,
- defaultHierarchy);
+ LogManager.getLoggerRepository());
} else {
LogLog.debug("Could not find resource: ["+resource+"].");
}
@@ -201,7 +202,7 @@
protected ResourceBundle resourceBundle;
// Categories need to know what Hierarchy they are in
- protected Hierarchy hierarchy;
+ protected LoggerRepository repository;
AppenderAttachableImpl aai;
@@ -243,7 +244,7 @@
aai = new AppenderAttachableImpl();
}
aai.addAppender(newAppender);
- hierarchy.fireAddAppenderEvent(this, newAppender);
+ repository.fireAddAppenderEvent(this, newAppender);
}
/**
@@ -291,12 +292,9 @@
}
}
}
- // No appenders in hierarchy, warn user only once.
- if(!hierarchy.emittedNoAppenderWarning && writes == 0) {
- LogLog.error("No appenders could be found for category (" +
- this.getName() + ").");
- LogLog.error("Please initialize the log4j system properly.");
- hierarchy.emittedNoAppenderWarning = true;
+
+ if(writes == 0) {
+ repository.emitNoAppenderWarning(this);
}
}
@@ -338,7 +336,7 @@
@param message the message object to log. */
public
void debug(Object message) {
- if(hierarchy.enableInt > Level.DEBUG_INT)
+ if(repository.isDisabled(Level.DEBUG_INT))
return;
if(Level.DEBUG.isGreaterOrEqual(this.getChainedLevel())) {
forcedLog(FQCN, Level.DEBUG, message, null);
@@ -357,7 +355,7 @@
@param t the exception to log, including its stack trace. */
public
void debug(Object message, Throwable t) {
- if(hierarchy.enableInt > Level.DEBUG_INT)
+ if(repository.isDisabled(Level.DEBUG_INT))
return;
if(Level.DEBUG.isGreaterOrEqual(this.getChainedLevel()))
forcedLog(FQCN, Level.DEBUG, message, t);
@@ -392,7 +390,7 @@
@param message the message object to log */
public
void error(Object message) {
- if(hierarchy.enableInt > Level.ERROR_INT)
+ if(repository.isDisabled(Level.ERROR_INT))
return;
if(Level.ERROR.isGreaterOrEqual(this.getChainedLevel()))
forcedLog(FQCN, Level.ERROR, message, null);
@@ -409,7 +407,7 @@
@param t the exception to log, including its stack trace. */
public
void error(Object message, Throwable t) {
- if(hierarchy.enableInt > Level.ERROR_INT)
+ if(repository.isDisabled(Level.ERROR_INT))
return;
if(Level.ERROR.isGreaterOrEqual(this.getChainedLevel()))
forcedLog(FQCN, Level.ERROR, message, t);
@@ -421,13 +419,14 @@
If the named category exists (in the default hierarchy) then it
returns a reference to the category, otherwise it returns
<code>null</code>.
-
- <p>Contributed by Ciaran Treanor - ciaran@xelector.com
+
+ @deprecateed Please use {@link LogManager#exists} instead.
+
@version 0.8.5 */
public
static
Logger exists(String name) {
- return defaultHierarchy.exists(name);
+ return LogManager.exists(name);
}
/**
@@ -450,7 +449,7 @@
@param message the message object to log */
public
void fatal(Object message) {
- if(hierarchy.enableInt > Level.FATAL_INT)
+ if(repository.isDisabled(Level.FATAL_INT))
return;
if(Level.FATAL.isGreaterOrEqual(this.getChainedLevel()))
forcedLog(FQCN, Level.FATAL, message, null);
@@ -467,7 +466,7 @@
@param t the exception to log, including its stack trace. */
public
void fatal(Object message, Throwable t) {
- if(hierarchy.enableInt > Level.FATAL_INT)
+ if(repository.isDisabled(Level.FATAL_INT))
return;
if(Level.FATAL.isGreaterOrEqual(this.getChainedLevel()))
forcedLog(FQCN, Level.FATAL, message, t);
@@ -543,11 +542,13 @@
<p>The root category is <em>not</em> included in the returned
{@link Enumeration}.
+
+ @deprecated Please use {@link LogManager#getCurrentLoggers()} instead.
*/
public
static
Enumeration getCurrentCategories() {
- return defaultHierarchy.getCurrentLoggers();
+ return LogManager.getCurrentLoggers();
}
@@ -558,21 +559,32 @@
*/
public
static
- Hierarchy getDefaultHierarchy() {
- return defaultHierarchy;
+ LoggerRepository getDefaultHierarchy() {
+ return LogManager.getLoggerRepository();
}
-
/**
- Return the the {@link Hierarchy} where this <code>Category</code> instance is
- attached.
+ Return the the {@link Hierarchy} where this <code>Category</code>
+ instance is attached.
+ @deprecatede Please use {@link #getLoggerRepository} instead.
+
@since 1.1 */
public
- Hierarchy getHierarchy() {
- return hierarchy;
+ LoggerRepository getHierarchy() {
+ return repository;
}
+ /**
+ Return the the {@link LoggerRepository} where this
+ <code>Category</code> is attached.
+
+ @since 1.2 */
+ public
+ LoggerRepository getLoggerRepository() {
+ return repository;
+ }
+
/**
Retrieve a category with named as the <code>name</code>
@@ -584,11 +596,13 @@
it from the hierarchy. This is one of the central features of
log4j.
+ @deprecated Please use {@link LogManager#getLogger(String)} instead.
+
@param name The name of the category to retrieve. */
public
static
Logger getInstance(String name) {
- return defaultHierarchy.getLogger(name);
+ return LogManager.getLogger(name);
}
/**
@@ -598,11 +612,13 @@
name of the category to retrieve. See {@link
#getInstance(String)} for more detailed information.
+ @deprecated Please use {@link LogManager#getLogger(Class)} instead.
+
@since 1.0 */
public
static
Logger getInstance(Class clazz) {
- return getInstance(clazz.getName());
+ return LogManager.getLogger(clazz);
}
@@ -623,7 +639,7 @@
public
static
Logger getInstance(String name, LoggerFactory factory) {
- return defaultHierarchy.getLogger(name, factory);
+ return LogManager.getLogger(name, factory);
}
@@ -682,12 +698,13 @@
Category.getInstance("root")} does not retrieve the root category
but a category just under root named "root".
+ @deprecated Use {@link LogManager#getRootLogger()} instead.
*/
final
public
static
Logger getRoot() {
- return defaultHierarchy.getRootLogger();
+ return LogManager.getRootLogger();
}
/**
@@ -725,10 +742,10 @@
// This is one of the rare cases where we can use logging in order
// to report errors from within log4j.
if(rb == null) {
- if(!hierarchy.emittedNoResourceBundleWarning) {
- error("No resource bundle has been set for category "+name);
- hierarchy.emittedNoResourceBundleWarning = true;
- }
+ //if(!hierarchy.emittedNoResourceBundleWarning) {
+ //error("No resource bundle has been set for category "+name);
+ //hierarchy.emittedNoResourceBundleWarning = true;
+ //}
return null;
}
else {
@@ -762,7 +779,7 @@
@param message the message object to log */
public
void info(Object message) {
- if(hierarchy.enableInt > Level.INFO_INT)
+ if(repository.isDisabled(Level.INFO_INT))
return;
if(Level.INFO.isGreaterOrEqual(this.getChainedLevel()))
forcedLog(FQCN, Level.INFO, message, null);
@@ -779,7 +796,7 @@
@param t the exception to log, including its stack trace. */
public
void info(Object message, Throwable t) {
- if(hierarchy.enableInt > Level.INFO_INT)
+ if(repository.isDisabled(Level.INFO_INT))
return;
if(Level.INFO.isGreaterOrEqual(this.getChainedLevel()))
forcedLog(FQCN, Level.INFO, message, t);
@@ -821,7 +838,7 @@
* */
public
boolean isDebugEnabled() {
- if(hierarchy.enableInt > Level.DEBUG_INT)
+ if(repository.isDisabled( Level.DEBUG_INT))
return false;
return Level.DEBUG.isGreaterOrEqual(this.getChainedLevel());
}
@@ -836,7 +853,7 @@
*/
public
boolean isEnabledFor(Level level) {
- if(hierarchy.enableInt > level.level)
+ if(repository.isDisabled(level.level))
return false;
return level.isGreaterOrEqual(this.getChainedLevel());
}
@@ -850,7 +867,7 @@
*/
public
boolean isInfoEnabled() {
- if(hierarchy.enableInt > Level.INFO_INT)
+ if(repository.isDisabled(Level.INFO_INT))
return false;
return Level.INFO.isGreaterOrEqual(this.getChainedLevel());
}
@@ -866,7 +883,7 @@
@since 0.8.4 */
public
void l7dlog(Level level, String key, Throwable t) {
- if(hierarchy.enableInt > level.level) {
+ if(repository.isDisabled(level.level)) {
return;
}
if(level.isGreaterOrEqual(this.getChainedLevel())) {
@@ -890,7 +907,7 @@
*/
public
void l7dlog(Level level, String key, Object[] params, Throwable t) {
- if(hierarchy.enableInt > level.level) {
+ if(repository.isDisabled(level.level)) {
return;
}
if(level.isGreaterOrEqual(this.getChainedLevel())) {
@@ -909,7 +926,7 @@
*/
public
void log(Level level, Object message, Throwable t) {
- if(hierarchy.enableInt > level.level) {
+ if(repository.isDisabled(level.level)) {
return;
}
if(level.isGreaterOrEqual(this.getChainedLevel()))
@@ -921,7 +938,7 @@
*/
public
void log(Level level, Object message) {
- if(hierarchy.enableInt > level.level) {
+ if(repository.isDisabled(level.level)) {
return;
}
if(level.isGreaterOrEqual(this.getChainedLevel()))
@@ -939,7 +956,7 @@
@param t The throwable of the logging request, may be null. */
public
void log(String callerFQCN, Level level, Object message, Throwable t) {
- if(hierarchy.enableInt > level.level) {
+ if(repository.isDisabled(level.level)) {
return;
}
if(level.isGreaterOrEqual(this.getChainedLevel())) {
@@ -1001,8 +1018,8 @@
Only the Hiearchy class can set the hiearchy of a
category. Default package access is MANDATORY here. */
final
- void setHierarchy(Hierarchy hierarchy) {
- this.hierarchy = hierarchy;
+ void setHierarchy(LoggerRepository repository) {
+ this.repository = repository;
}
/**
@@ -1024,8 +1041,8 @@
@deprecated Please use {@link #setLevel} instead.
*/
public
- void setPriority(Level priority) {
- this.level = priority;
+ void setPriority(Priority priority) {
+ this.level = (Level) priority;
}
@@ -1056,12 +1073,14 @@
configurations where a regular appender is attached to a category
and again to a nested appender.
+ @deprecated Please use {@link LogManager#shutdown()} instead.
+
@since 1.0
*/
public
static
void shutdown() {
- defaultHierarchy.shutdown();
+ LogManager.shutdown();
}
@@ -1085,7 +1104,7 @@
@param message the message object to log. */
public
void warn(Object message) {
- if(hierarchy.enableInt > Level.WARN_INT)
+ if(repository.isDisabled( Level.WARN_INT))
return;
if(Level.WARN.isGreaterOrEqual(this.getChainedLevel()))
@@ -1103,7 +1122,7 @@
@param t the exception to log, including its stack trace. */
public
void warn(Object message, Throwable t) {
- if(hierarchy.enableInt > Level.WARN_INT)
+ if(repository.isDisabled(Level.WARN_INT))
return;
if(Level.WARN.isGreaterOrEqual(this.getChainedLevel()))
forcedLog(FQCN, Level.WARN, message, t);
1.31 +46 -4 jakarta-log4j/src/java/org/apache/log4j/Hierarchy.java
Index: Hierarchy.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/Hierarchy.java,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- Hierarchy.java 2001/09/04 20:06:23 1.30
+++ Hierarchy.java 2001/09/05 06:45:28 1.31
@@ -26,6 +26,7 @@
import org.apache.log4j.spi.LoggerFactory;
import org.apache.log4j.spi.HierarchyEventListener;
import org.apache.log4j.spi.LoggerRepository;
+import org.apache.log4j.spi.RendererSupport;
import org.apache.log4j.Appender;
import org.apache.log4j.or.RendererMap;
import org.apache.log4j.or.ObjectRenderer;
@@ -54,7 +55,7 @@
@author Ceki Gülcü
*/
-public class Hierarchy implements LoggerRepository {
+public class Hierarchy implements LoggerRepository, RendererSupport {
private LoggerFactory defaultFactory;
private Vector listeners;
@@ -62,7 +63,7 @@
Hashtable ht;
Logger root;
RendererMap rendererMap;
-
+
int enableInt;
Level enable;
@@ -119,6 +120,17 @@
ht.clear();
}
+ public
+ void emitNoAppenderWarning(Category cat) {
+ // No appenders in hierarchy, warn user only once.
+ if(this.emittedNoAppenderWarning) {
+ LogLog.error("No appenders could be found for category (" +
+ cat.getName() + ").");
+ LogLog.error("Please initialize the log4j system properly.");
+ this.emittedNoAppenderWarning = true;
+ }
+ }
+
/**
Check if the named category exists in the hierarchy. If so return
its reference, otherwise returns <code>null</code>.
@@ -297,6 +309,17 @@
}
/**
+ Returns an integer representation of the this repository's
+ <code>enable</code> state.
+
+ @since 1.2 */
+ public
+ int getEnableInt() {
+ return enableInt;
+ }
+
+
+ /**
Return a new logger instance named as the first parameter using
the default factory.
@@ -360,7 +383,6 @@
}
}
-
/**
Returns all the currently defined categories in this hierarchy as
an {@link java.util.Enumeration Enumeration}.
@@ -385,6 +407,15 @@
}
/**
+ @deprecated Please use {@link #getCurrentLoggers} instead.
+ */
+ public
+ Enumeration getCurrentCategories() {
+ return getCurrentLoggers();
+ }
+
+
+ /**
Get the renderer map for this hierarchy.
*/
public
@@ -409,7 +440,7 @@
public
boolean isDisabled(int level) {
- return enableInt > level;
+ return enableInt > level;
}
/**
@@ -466,6 +497,17 @@
void setDisableOverride(String override) {
LogLog.warn("The Hiearchy.setDisableOverride method has been deprecated.");
}
+
+
+
+ /**
+ Used by subclasses to add a renderer to the hierarchy passed as parameter.
+ */
+ public
+ void setRenderer(Class renderedClass, ObjectRenderer renderer) {
+ rendererMap.put(renderedClass, renderer);
+ }
+
/**
Shutting down a hierarchy will <em>safely</em> close and remove
1.2 +11 -0 jakarta-log4j/src/java/org/apache/log4j/LogManager.java
Index: LogManager.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/LogManager.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- LogManager.java 2001/09/02 20:05:39 1.1
+++ LogManager.java 2001/09/05 06:45:28 1.2
@@ -93,6 +93,17 @@
return repositorySelector.getLoggerRepository().getLogger(name);
}
+ /**
+ Retrieve the appropriate {@link Logger} instance.
+ */
+ public
+ static
+ Logger getLogger(Class clazz) {
+ // Delegate the actual manufacturing of the logger to the logger factory.
+ return repositorySelector.getLoggerRepository().getLogger(clazz.getName());
+ }
+
+
/**
Retrieve the appropriate {@link Logger} instance.
*/
1.18 +1 -1 jakarta-log4j/src/java/org/apache/log4j/Makefile
Index: Makefile
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/Makefile,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- Makefile 2001/09/03 22:10:10 1.17
+++ Makefile 2001/09/05 06:45:28 1.18
@@ -9,7 +9,6 @@
AppenderSkeleton.java\
CategoryKey.java\
ProvisionNode.java\
- StressCategory.java \
FileAppender.java \
SimpleLayout.java\
TTCCLayout.java\
@@ -28,6 +27,7 @@
HTMLLayout.java\
LogManager.java\
+# StressCategory.java \
1.36 +18 -10 jakarta-log4j/src/java/org/apache/log4j/PropertyConfigurator.java
Index: PropertyConfigurator.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/PropertyConfigurator.java,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- PropertyConfigurator.java 2001/09/04 20:06:23 1.35
+++ PropertyConfigurator.java 2001/09/05 06:45:28 1.36
@@ -20,6 +20,8 @@
import org.apache.log4j.spi.OptionHandler;
import org.apache.log4j.spi.Configurator;
import org.apache.log4j.spi.LoggerFactory;
+import org.apache.log4j.spi.LoggerRepository;
+import org.apache.log4j.spi.RendererSupport;
import org.apache.log4j.or.ObjectRenderer;
import org.apache.log4j.or.RendererMap;
import org.apache.log4j.helpers.LogLog;
@@ -293,7 +295,7 @@
*/
public
- void doConfigure(String configFileName, Hierarchy hierarchy) {
+ void doConfigure(String configFileName, LoggerRepository hierarchy) {
Properties props = new Properties();
try {
FileInputStream istream = new FileInputStream(configFileName);
@@ -315,7 +317,7 @@
public
void configure(String configFilename) {
new PropertyConfigurator().doConfigure(configFilename,
- Category.defaultHierarchy);
+ LogManager.getLoggerRepository());
}
/**
@@ -326,7 +328,8 @@
public
static
void configure(java.net.URL configURL) {
- new PropertyConfigurator().doConfigure(configURL, Category.defaultHierarchy);
+ new PropertyConfigurator().doConfigure(configURL,
+ LogManager.getLoggerRepository());
}
@@ -338,7 +341,8 @@
static
public
void configure(Properties properties) {
- new PropertyConfigurator().doConfigure(properties, Category.defaultHierarchy);
+ new PropertyConfigurator().doConfigure(properties,
+ LogManager.getLoggerRepository());
}
/**
@@ -382,7 +386,7 @@
See {@link #doConfigure(String, Hierarchy)} for the expected format.
*/
public
- void doConfigure(Properties properties, Hierarchy hierarchy) {
+ void doConfigure(Properties properties, LoggerRepository hierarchy) {
String value = properties.getProperty(LogLog.DEBUG_KEY);
if(value == null) {
@@ -421,7 +425,7 @@
Read configuration options from url <code>configURL</code>.
*/
public
- void doConfigure(java.net.URL configURL, Hierarchy hierarchy) {
+ void doConfigure(java.net.URL configURL, LoggerRepository hierarchy) {
Properties props = new Properties();
LogLog.debug("Reading configuration from URL " + configURL);
try {
@@ -487,7 +491,7 @@
*/
- void configureRootCategory(Properties props, Hierarchy hierarchy) {
+ void configureRootCategory(Properties props, LoggerRepository hierarchy) {
String value = OptionConverter.findAndSubst(ROOT_CATEGORY_PREFIX, props);
if(value == null)
LogLog.debug("Could not find root category information. Is this OK?");
@@ -505,7 +509,7 @@
Parse non-root elements, such non-root categories and renderers.
*/
protected
- void parseCatsAndRenderers(Properties props, Hierarchy hierarchy) {
+ void parseCatsAndRenderers(Properties props, LoggerRepository hierarchy) {
Enumeration enum = props.propertyNames();
while(enum.hasMoreElements()) {
String key = (String) enum.nextElement();
@@ -520,7 +524,10 @@
} else if(key.startsWith(RENDERER_PREFIX)) {
String renderedClass = key.substring(RENDERER_PREFIX.length());
String renderingClass = OptionConverter.findAndSubst(key, props);
- addRenderer(hierarchy, renderedClass, renderingClass);
+ if(hierarchy instanceof RendererSupport) {
+ addRenderer((RendererSupport) hierarchy, renderedClass,
+ renderingClass);
+ }
}
}
}
@@ -657,6 +664,7 @@
<code>filename</code> to reconfigure log4j. */
public
void doOnChange() {
- new PropertyConfigurator().doConfigure(filename, Logger.defaultHierarchy);
+ new PropertyConfigurator().doConfigure(filename,
+ LogManager.getLoggerRepository());
}
}
1.7 +5 -5 jakarta-log4j/src/java/org/apache/log4j/StressCategory.java
Index: StressCategory.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/StressCategory.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- StressCategory.java 2001/09/02 20:05:39 1.6
+++ StressCategory.java 2001/09/05 06:45:28 1.7
@@ -20,10 +20,10 @@
class StressCategory {
static Level[] level = new Level[] {Level.DEBUG,
- Level.INFO,
- Level.WARN,
- Level.ERROR,
- Level.FATAL};
+ Level.INFO,
+ Level.WARN,
+ Level.ERROR,
+ Level.FATAL};
static Level defaultLevel = Category.getRoot().getLevel();
@@ -111,7 +111,7 @@
}
test();
// Clear hash table for next round
- Category.defaultHierarchy.clear();
+ LogManager.getLoggerRepository().clear();
}
else {
ct[n] = null;
1.9 +1 -1 jakarta-log4j/src/java/org/apache/log4j/config/PropertySetter.java
Index: PropertySetter.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/config/PropertySetter.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- PropertySetter.java 2001/09/02 20:05:39 1.8
+++ PropertySetter.java 2001/09/05 06:45:28 1.9
@@ -222,7 +222,7 @@
} else if ("false".equalsIgnoreCase(v)) {
return Boolean.FALSE;
}
- } else if (Level.class.isAssignableFrom(type)) {
+ } else if (Priority.class.isAssignableFrom(type)) {
return OptionConverter.toLevel(v, Level.DEBUG);
}
return null;
1.28 +2 -1 jakarta-log4j/src/java/org/apache/log4j/helpers/OptionConverter.java
Index: OptionConverter.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/helpers/OptionConverter.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- OptionConverter.java 2001/09/02 21:40:36 1.27
+++ OptionConverter.java 2001/09/05 06:45:28 1.28
@@ -14,6 +14,7 @@
import org.apache.log4j.Hierarchy;
import org.apache.log4j.Level;
import org.apache.log4j.spi.Configurator;
+import org.apache.log4j.spi.LoggerRepository;
import org.apache.log4j.PropertyConfigurator;
// Contributors: Avy Sharell (sharell@online.fr)
@@ -429,7 +430,7 @@
static
public
- void selectAndConfigure(URL url, String clazz, Hierarchy hierarchy) {
+ void selectAndConfigure(URL url, String clazz, LoggerRepository hierarchy) {
Configurator configurator = null;
String filename = url.getFile();
1.7 +8 -3 jakarta-log4j/src/java/org/apache/log4j/net/JMSSink.java
Index: JMSSink.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/JMSSink.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- JMSSink.java 2001/09/02 21:40:36 1.6
+++ JMSSink.java 2001/09/05 06:45:28 1.7
@@ -11,6 +11,9 @@
import org.apache.log4j.spi.LoggingEvent;
import org.apache.log4j.Category;
import org.apache.log4j.Hierarchy;
+import org.apache.log4j.LogManager;
+import org.apache.log4j.spi.RendererSupport;
+import org.apache.log4j.spi.LoggerRepository;
import org.apache.log4j.or.MessageRenderer;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.helpers.LogLog;
@@ -38,9 +41,11 @@
String tcfBindingName = args[0];
String topicBindingName = args[1];
PropertyConfigurator.configure(args[2]);
-
- Category.getDefaultHierarchy().addRenderer(Message.class,
- new MessageRenderer());
+
+ LoggerRepository rep = LogManager.getLoggerRepository();
+ if(rep instanceof RendererSupport) {
+ ((RendererSupport) rep).setRenderer(Message.class, new MessageRenderer());
+ }
try {
Context ctx = new InitialContext();
1.8 +2 -1 jakarta-log4j/src/java/org/apache/log4j/net/Makefile
Index: Makefile
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/Makefile,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- Makefile 2001/03/28 18:34:10 1.7
+++ Makefile 2001/09/05 06:45:28 1.8
@@ -4,11 +4,12 @@
JSOURCES:=SyslogAppender.java\
JMSAppender.java\
JMSSink.java\
- SocketServer.java\
SimpleSocketServer.java\
SocketAppender.java\
SMTPAppender.java\
SocketNode.java\
+
+# SocketServer.java\
SUBDIRS :=test
1.2 +3 -1 jakarta-log4j/src/java/org/apache/log4j/net/SimpleSocketServer.java
Index: SimpleSocketServer.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/SimpleSocketServer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SimpleSocketServer.java 2001/01/08 01:37:56 1.1
+++ SimpleSocketServer.java 2001/09/05 06:45:28 1.2
@@ -12,7 +12,9 @@
import java.io.IOException;
import org.apache.log4j.Category;
+import org.apache.log4j.LogManager;
import org.apache.log4j.PropertyConfigurator;
+import org.apache.log4j.spi.LoggerRepository;
/**
@@ -53,7 +55,7 @@
cat.info("Connected to client at " + socket.getInetAddress());
cat.info("Starting new socket node.");
new Thread(new SocketNode(socket,
- Category.getDefaultHierarchy())).start();
+ LogManager.getLoggerRepository())).start();
}
}
catch(Exception e) {
1.13 +3 -3 jakarta-log4j/src/java/org/apache/log4j/net/SocketNode.java
Index: SocketNode.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/SocketNode.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- SocketNode.java 2001/09/04 18:44:47 1.12
+++ SocketNode.java 2001/09/05 06:45:28 1.13
@@ -17,7 +17,7 @@
import org.apache.log4j.*;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.log4j.spi.*;
// Contributors: Moses Hohman <mm...@rainbow.uchicago.edu>
@@ -36,13 +36,13 @@
public class SocketNode implements Runnable {
Socket socket;
- Hierarchy hierarchy;
+ LoggerRepository hierarchy;
ObjectInputStream ois;
static Logger logger = Category.getInstance(SocketNode.class);
public
- SocketNode(Socket socket, Hierarchy hierarchy) {
+ SocketNode(Socket socket, LoggerRepository hierarchy) {
this.socket = socket;
this.hierarchy = hierarchy;
try {
1.8 +7 -10 jakarta-log4j/src/java/org/apache/log4j/net/SocketServer.java
Index: SocketServer.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/SocketServer.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- SocketServer.java 2001/01/24 16:15:26 1.7
+++ SocketServer.java 2001/09/05 06:45:28 1.8
@@ -15,11 +15,8 @@
import java.io.File;
import java.util.Hashtable;
-import org.apache.log4j.Category;
-import org.apache.log4j.Hierarchy;
-import org.apache.log4j.Priority;
-import org.apache.log4j.PropertyConfigurator;
-import org.apache.log4j.spi.RootCategory;
+import org.apache.log4j.*;
+import org.apache.log4j.spi.*;
/**
@@ -86,7 +83,7 @@
// key=inetAddress, value=hierarchy
Hashtable hierarchyMap;
- Hierarchy genericHierarchy;
+ LoggerRepository genericHierarchy;
File dir;
public
@@ -106,7 +103,7 @@
InetAddress inetAddress = socket.getInetAddress();
cat.info("Connected to client at " + inetAddress);
- Hierarchy h = (Hierarchy) server.hierarchyMap.get(inetAddress);
+ LoggerRepository h = (LoggerRepository) server.hierarchyMap.get(inetAddress);
if(h == null) {
h = server.configureHierarchy(inetAddress);
}
@@ -157,7 +154,7 @@
// This method assumes that there is no hiearchy for inetAddress
// yet. It will configure one and return it.
- Hierarchy configureHierarchy(InetAddress inetAddress) {
+ LoggerRepository configureHierarchy(InetAddress inetAddress) {
cat.info("Locating configuration file for "+inetAddress);
// We assume that the toSting method of InetAddress returns is in
// the format hostname/d1.d2.d3.d4 e.g. torino/192.168.1.1
@@ -185,7 +182,7 @@
}
}
- Hierarchy genericHierarchy() {
+ LoggerRepository genericHierarchy() {
if(genericHierarchy == null) {
File f = new File(dir, GENERIC+CONFIG_FILE_EXT);
if(f.exists()) {
@@ -194,7 +191,7 @@
} else {
cat.warn("Could not find config file ["+f+
"]. Will use the default hierarchy.");
- genericHierarchy = Category.getDefaultHierarchy();
+ genericHierarchy = LogManager.getLoggerRepository();
}
}
return genericHierarchy;
1.7 +1 -1 jakarta-log4j/src/java/org/apache/log4j/performance/NotLogging.java
Index: NotLogging.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/performance/NotLogging.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- NotLogging.java 2001/09/02 20:05:40 1.6
+++ NotLogging.java 2001/09/05 06:45:29 1.7
@@ -128,7 +128,7 @@
// nothing to do
} else if ("true".equals(args[0])) {
System.out.println("Flagging as shipped code.");
- Category.getDefaultHierarchy().disableInfo();
+ Category.getDefaultHierarchy().enable(Level.WARN);
} else
Usage();
1.6 +2 -2 jakarta-log4j/src/java/org/apache/log4j/spi/Configurator.java
Index: Configurator.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/Configurator.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Configurator.java 2001/07/05 19:07:17 1.5
+++ Configurator.java 2001/09/05 06:45:29 1.6
@@ -7,7 +7,7 @@
package org.apache.log4j.spi;
-import org.apache.log4j.Hierarchy;
+import org.apache.log4j.spi.LoggerRepository;
import java.net.URL;
/**
@@ -26,5 +26,5 @@
@param url The URL to parse
@param hierarchy The hierarchy to operation upon.
*/
- void doConfigure(URL url, Hierarchy hierarchy);
+ void doConfigure(URL url, LoggerRepository repository);
}
1.3 +23 -1 jakarta-log4j/src/java/org/apache/log4j/spi/LoggerRepository.java
Index: LoggerRepository.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/LoggerRepository.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- LoggerRepository.java 2001/09/04 18:44:47 1.2
+++ LoggerRepository.java 2001/09/05 06:45:29 1.3
@@ -2,33 +2,55 @@
package org.apache.log4j.spi;
import org.apache.log4j.*;
+import org.apache.log4j.or.RendererMap;
import java.util.Enumeration;
public interface LoggerRepository {
+ boolean isDisabled(int level);
+
+ public
+ void disable(String val);
+
+ public
+ void enable(Level level);
+
+ public
+ void emitNoAppenderWarning(Category cat);
+
public
Logger getLogger(String name);
public
Logger getLogger(String name, LoggerFactory factory);
-
public
Logger getRootLogger();
public
+ abstract
Logger exists(String name);
public
+ abstract
void shutdown();
public
Enumeration getCurrentLoggers();
+ /**
+ @deprecated Please use {@link getCurrentLoggers} instead.
+ */
+ public
+ Enumeration getCurrentCategories();
+
+
public
+ abstract
void fireAddAppenderEvent(Category cat, Appender appender);
public
+ abstract
void resetConfiguration();
}
1.23 +8 -2 jakarta-log4j/src/java/org/apache/log4j/spi/LoggingEvent.java
Index: LoggingEvent.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/LoggingEvent.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- LoggingEvent.java 2001/09/04 20:06:23 1.22
+++ LoggingEvent.java 2001/09/05 06:45:29 1.23
@@ -210,8 +210,14 @@
if(message instanceof String)
renderedMessage = (String) message;
else {
- renderedMessage=
- logger.getHierarchy().getRendererMap().findAndRender(message);
+ LoggerRepository repository = logger.getHierarchy();
+
+ if(repository instanceof RendererSupport) {
+ RendererSupport rs = (RendererSupport) repository;
+ renderedMessage= rs.getRendererMap().findAndRender(message);
+ } else {
+ renderedMessage = message.toString();
+ }
}
}
return renderedMessage;
1.12 +1 -0 jakarta-log4j/src/java/org/apache/log4j/spi/Makefile
Index: Makefile
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/spi/Makefile,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- Makefile 2001/09/03 22:39:33 1.11
+++ Makefile 2001/09/05 06:45:29 1.12
@@ -17,6 +17,7 @@
RepositorySelector.java\
DefaultRepositorySelector.java\
LoggerRepository.java\
+ RendererSupport.java\
SUBDIRS :=
1.5 +2 -6 jakarta-log4j/src/java/org/apache/log4j/test/ShippedCodeFlagTest.java
Index: ShippedCodeFlagTest.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/test/ShippedCodeFlagTest.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ShippedCodeFlagTest.java 2001/02/13 17:37:32 1.4
+++ ShippedCodeFlagTest.java 2001/09/05 06:45:29 1.5
@@ -1,11 +1,7 @@
package org.apache.log4j.test;
-import org.apache.log4j.Category;
-import org.apache.log4j.BasicConfigurator;
-import org.apache.log4j.PropertyConfigurator;
-import org.apache.log4j.SimpleLayout;
-import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.*;
public class ShippedCodeFlagTest {
@@ -33,7 +29,7 @@
else {
PropertyConfigurator.configure(type);
}
- Category.getDefaultHierarchy().disableInfo();
+ Category.getDefaultHierarchy().enable(Level.WARN);
CAT.debug("Hello world");
}
1.5 +3 -7 jakarta-log4j/src/java/org/apache/log4j/test/SysoutConfigurator.java
Index: SysoutConfigurator.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/test/SysoutConfigurator.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SysoutConfigurator.java 2001/02/13 17:37:32 1.4
+++ SysoutConfigurator.java 2001/09/05 06:45:29 1.5
@@ -1,12 +1,8 @@
package org.apache.log4j.test;
import java.util.Properties;
-import org.apache.log4j.Category;
-import org.apache.log4j.Hierarchy;
-import org.apache.log4j.spi.Configurator;
-import org.apache.log4j.spi.LoggingEvent;
-import org.apache.log4j.SimpleLayout;
-import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.spi.*;
+import org.apache.log4j.*;
/**
* This configurator simply always adds a FileAppender writing to
@@ -16,7 +12,7 @@
public class SysoutConfigurator implements Configurator {
public
void
- doConfigure(java.net.URL url, Hierarchy hierarchy) {
+ doConfigure(java.net.URL url, LoggerRepository hierarchy) {
Category.getRoot().addAppender(
new ConsoleAppender(
new SimpleLayout(), ConsoleAppender.SYSTEM_OUT));
1.3 +10 -6 jakarta-log4j/src/java/org/apache/log4j/test/UnitTestLogger.java
Index: UnitTestLogger.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/test/UnitTestLogger.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- UnitTestLogger.java 2001/09/04 18:44:48 1.2
+++ UnitTestLogger.java 2001/09/05 06:45:29 1.3
@@ -57,7 +57,7 @@
public
void tearDown() {
// Regular users should not use the clear method lightly!
- Logger.getDefaultHierarchy().clear();
+ //Logger.getDefaultHierarchy().clear();
BasicConfigurator.resetConfiguration();
a1 = null;
a2 = null;
@@ -204,8 +204,9 @@
Logger root = Category.getRoot();
root.addAppender(caRoot);
- Hierarchy h = Logger.getDefaultHierarchy();
- h.disableDebug();
+ LoggerRepository h = Category.getDefaultHierarchy();
+ //h.disableDebug();
+ h.enable(Level.INFO);
assertEquals(caRoot.counter, 0);
root.debug(MSG); assertEquals(caRoot.counter, 0);
@@ -213,14 +214,16 @@
root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 2);
root.warn(MSG); assertEquals(caRoot.counter, 3);
- h.disableInfo();
+ //h.disableInfo();
+ h.enable(Level.WARN);
root.debug(MSG); assertEquals(caRoot.counter, 3);
root.info(MSG); assertEquals(caRoot.counter, 3);
root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 4);
root.error(MSG); assertEquals(caRoot.counter, 5);
root.log(Level.ERROR, MSG); assertEquals(caRoot.counter, 6);
- h.disableAll();
+ //h.disableAll();
+ h.enable(Level.OFF);
root.debug(MSG); assertEquals(caRoot.counter, 6);
root.info(MSG); assertEquals(caRoot.counter, 6);
root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 6);
@@ -228,7 +231,8 @@
root.log(Level.FATAL, MSG); assertEquals(caRoot.counter, 6);
root.log(Level.FATAL, MSG); assertEquals(caRoot.counter, 6);
- h.disable(Level.FATAL);
+ //h.disable(Level.FATAL);
+ h.enable(Level.OFF);
root.debug(MSG); assertEquals(caRoot.counter, 6);
root.info(MSG); assertEquals(caRoot.counter, 6);
root.log(Level.WARN, MSG); assertEquals(caRoot.counter, 6);
1.33 +20 -30 jakarta-log4j/src/java/org/apache/log4j/xml/DOMConfigurator.java
Index: DOMConfigurator.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/xml/DOMConfigurator.java,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- DOMConfigurator.java 2001/09/04 18:44:48 1.32
+++ DOMConfigurator.java 2001/09/05 06:45:29 1.33
@@ -13,24 +13,11 @@
import org.w3c.dom.*;
import java.lang.reflect.Method;
-import org.apache.log4j.Category;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.OptionHandler;
-import org.apache.log4j.spi.ErrorHandler;
-import org.apache.log4j.spi.AppenderAttachable;
-import org.apache.log4j.spi.Configurator;
-import org.apache.log4j.spi.LoggerFactory;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Layout;
-import org.apache.log4j.Level;
-import org.apache.log4j.Hierarchy;
-import org.apache.log4j.BasicConfigurator;
-import org.apache.log4j.spi.Filter;
-import org.apache.log4j.helpers.LogLog;
+import org.apache.log4j.*;
+import org.apache.log4j.spi.*;
+import org.apache.log4j.helpers.*;
import org.apache.log4j.config.PropertySetter;
-import org.apache.log4j.helpers.OptionConverter;
-import org.apache.log4j.helpers.FileWatchdog;
-import org.apache.log4j.helpers.Loader;
+
import org.xml.sax.InputSource;
import java.io.FileInputStream;
import java.io.InputStream;
@@ -284,7 +271,7 @@
Used internally to parse an category element.
*/
protected
- void parseCategory (Element categoryElement, Hierarchy hierarchy) {
+ void parseCategory (Element categoryElement, LoggerRepository hierarchy) {
// Create a new org.apache.log4j.Category object from the <category> element.
String catName = subst(categoryElement.getAttribute(NAME_ATTR));
@@ -330,7 +317,7 @@
Used internally to parse the category factory element.
*/
protected
- void parseCategoryFactory(Element factoryElement, Hierarchy hierarchy) {
+ void parseCategoryFactory(Element factoryElement, LoggerRepository hierarchy) {
String className = subst(factoryElement.getAttribute(CLASS_ATTR));
if(EMPTY_STR.equals(className)) {
@@ -366,7 +353,7 @@
Used internally to parse the roor category element.
*/
protected
- void parseRoot (Element rootElement, Hierarchy hierarchy) {
+ void parseRoot (Element rootElement, LoggerRepository hierarchy) {
Logger root = hierarchy.getRootLogger();
// category configuration needs to be atomic
synchronized(root) {
@@ -458,10 +445,12 @@
}
protected
- void parseRenderer(Element element, Hierarchy hierarchy) {
+ void parseRenderer(Element element, LoggerRepository hierarchy) {
String renderingClass = subst(element.getAttribute(RENDERING_CLASS_ATTR));
String renderedClass = subst(element.getAttribute(RENDERED_CLASS_ATTR));
- addRenderer(hierarchy, renderedClass, renderingClass);
+ if(hierarchy instanceof RendererSupport) {
+ addRenderer((RendererSupport) hierarchy, renderedClass, renderingClass);
+ }
}
/**
@@ -562,7 +551,7 @@
}
public
- void doConfigure(String filename, Hierarchy hierarchy) {
+ void doConfigure(String filename, LoggerRepository hierarchy) {
FileInputStream fis = null;
try {
fis = new FileInputStream(filename);
@@ -582,7 +571,7 @@
public
- void doConfigure(URL url, Hierarchy hierarchy) {
+ void doConfigure(URL url, LoggerRepository hierarchy) {
try {
doConfigure(url.openStream(), hierarchy);
} catch(IOException e) {
@@ -596,7 +585,7 @@
*/
public
- void doConfigure(InputStream inputStream, Hierarchy hierarchy)
+ void doConfigure(InputStream inputStream, LoggerRepository hierarchy)
throws FactoryConfigurationError {
doConfigure(new InputSource(inputStream), hierarchy);
}
@@ -607,7 +596,7 @@
*/
public
- void doConfigure(Reader reader, Hierarchy hierarchy)
+ void doConfigure(Reader reader, LoggerRepository hierarchy)
throws FactoryConfigurationError {
doConfigure(new InputSource(reader), hierarchy);
}
@@ -618,7 +607,7 @@
*/
protected
- void doConfigure(InputSource inputSource, Hierarchy hierarchy)
+ void doConfigure(InputSource inputSource, LoggerRepository hierarchy)
throws FactoryConfigurationError {
DocumentBuilderFactory dbf = null;
try {
@@ -685,7 +674,7 @@
*/
protected
- void parse(Element element, Hierarchy hierarchy) {
+ void parse(Element element, LoggerRepository hierarchy) {
String rootElementName = element.getTagName();
@@ -725,7 +714,7 @@
// DISABLE_OVERRIDE attribute is returned as the empty string when
// it is not specified in the XML file.
if(!override.equals("") && !override.equals("null")) {
- hierarchy.overrideAsNeeded(override);
+ //hierarchy.overrideAsNeeded(override);
}
String disableStr = subst(element.getAttribute(DISABLE_ATTR));
@@ -805,6 +794,7 @@
<code>filename</code> to reconfigure log4j. */
public
void doOnChange() {
- new DOMConfigurator().doConfigure(filename, Category.getDefaultHierarchy());
+ new DOMConfigurator().doConfigure(filename,
+ LogManager.getLoggerRepository());
}
}
1.3 +4 -4 jakarta-log4j/src/java/org/apache/log4j/xml/examples/XLogger.java
Index: XLogger.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/xml/examples/XLogger.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- XLogger.java 2001/09/04 20:06:23 1.2
+++ XLogger.java 2001/09/05 06:45:29 1.3
@@ -85,7 +85,7 @@
XLevel#LETHAL}. */
public
void lethal(String message, Throwable t) {
- if(hierarchy.isDisabled(XLevel.LETHAL_INT))
+ if(repository.isDisabled(XLevel.LETHAL_INT))
return;
if(XLevel.LETHAL.isGreaterOrEqual(this.getChainedLevel()))
forcedLog(FQCN, XLevel.LETHAL, message, t);
@@ -96,7 +96,7 @@
XLevel#LETHAL}. */
public
void lethal(String message) {
- if(hierarchy.isDisabled(XLevel.LETHAL_INT))
+ if(repository.isDisabled(XLevel.LETHAL_INT))
return;
if(XLevel.LETHAL.isGreaterOrEqual(this.getChainedLevel()))
forcedLog(FQCN, XLevel.LETHAL, message, null);
@@ -139,7 +139,7 @@
*/
public
void trace(String message, Throwable t) {
- if(hierarchy.isDisabled(XLevel.TRACE_INT))
+ if(repository.isDisabled(XLevel.TRACE_INT))
return;
if(XLevel.TRACE.isGreaterOrEqual(this.getChainedLevel()))
forcedLog(FQCN, XLevel.TRACE, message, t);
@@ -150,7 +150,7 @@
*/
public
void trace(String message) {
- if(hierarchy.isDisabled(XLevel.TRACE_INT))
+ if(repository.isDisabled(XLevel.TRACE_INT))
return;
if(XLevel.TRACE.isGreaterOrEqual(this.getChainedLevel()))
forcedLog(FQCN, XLevel.TRACE, message, null);
1.6 +2 -4 jakarta-log4j/src/java/org/apache/log4j/xml/test/DisableOverrideTest.java
Index: DisableOverrideTest.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/xml/test/DisableOverrideTest.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DisableOverrideTest.java 2001/05/18 20:45:18 1.5
+++ DisableOverrideTest.java 2001/09/05 06:45:29 1.6
@@ -1,10 +1,8 @@
package org.apache.log4j.xml.test;
-import org.apache.log4j.Category;
import org.apache.log4j.xml.DOMConfigurator;
-import org.apache.log4j.SimpleLayout;
-import org.apache.log4j.FileAppender;
+import org.apache.log4j.*;
//import org.xml.sax.InputSource;
//import org.apache.log4j.xml.examples.ReportParserError;
@@ -23,7 +21,7 @@
Usage("Wrong number of arguments.");
DOMConfigurator.configure(configFile);
- Category.getDefaultHierarchy().disableInfo();
+ Category.getDefaultHierarchy().enable(Level.WARN);
CAT.debug("Hello world");
}
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-cvs-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-cvs-help@jakarta.apache.org