You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by rg...@apache.org on 2010/10/24 19:10:07 UTC
svn commit: r1026837 [2/2] - in
/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers:
log4j12-api/src/main/java/org/apache/log4j/
log4j12-api/src/test/java/org/apache/log4j/
log4j2-api/src/main/java/org/apache/logging/log4j/
log4j2-api/src/test/java/...
Added: logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/FiltersPlugin.java
URL: http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/FiltersPlugin.java?rev=1026837&view=auto
==============================================================================
--- logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/FiltersPlugin.java (added)
+++ logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/FiltersPlugin.java Sun Oct 24 17:10:06 2010
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.core.config.plugins;
+
+import org.apache.logging.log4j.core.Filter;
+
+/**
+ *
+ */
+@Plugin(name="filters", type="Core")
+public class FiltersPlugin {
+
+ @PluginFactory
+ public static Filter[] createFilters(@PluginElement("filters") Filter[] filters) {
+ return filters;
+ }
+}
Added: logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/LoggersPlugin.java
URL: http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/LoggersPlugin.java?rev=1026837&view=auto
==============================================================================
--- logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/LoggersPlugin.java (added)
+++ logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/LoggersPlugin.java Sun Oct 24 17:10:06 2010
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.core.config.plugins;
+
+import org.apache.logging.log4j.core.config.LoggerConfig;
+import org.apache.logging.log4j.core.config.Loggers;
+
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
+/**
+ *
+ */
+@Plugin(name = "loggers", type = "Core")
+public class LoggersPlugin {
+
+ @PluginFactory
+ public static Loggers createLoggers(@PluginElement("loggers") LoggerConfig[] loggers) {
+ ConcurrentMap<String, LoggerConfig> loggerMap = new ConcurrentHashMap<String, LoggerConfig>();
+ LoggerConfig root = null;
+
+ for (LoggerConfig logger : loggers) {
+ if (logger != null) {
+ if (logger.getName().equals("root")) {
+ root = logger;
+ }
+ loggerMap.put(logger.getName(), logger);
+ }
+ }
+
+ return new Loggers(loggerMap, root);
+ }
+}
Modified: logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/Plugin.java
URL: http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/Plugin.java?rev=1026837&r1=1026836&r2=1026837&view=diff
==============================================================================
--- logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/Plugin.java (original)
+++ logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/Plugin.java Sun Oct 24 17:10:06 2010
@@ -14,4 +14,8 @@ public @interface Plugin {
public String name();
public String type();
+ public String elementType() default NULL;
+ public boolean printObject() default false;
+
+ public static final String NULL = "";
}
Added: logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginAttr.java
URL: http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginAttr.java?rev=1026837&view=auto
==============================================================================
--- logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginAttr.java (added)
+++ logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginAttr.java Sun Oct 24 17:10:06 2010
@@ -0,0 +1,16 @@
+package org.apache.logging.log4j.core.config.plugins;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ *
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.PARAMETER)
+public @interface PluginAttr {
+
+ public String value();
+}
Copied: logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginElement.java (from r1025816, logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/Plugin.java)
URL: http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginElement.java?p2=logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginElement.java&p1=logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/Plugin.java&r1=1025816&r2=1026837&rev=1026837&view=diff
==============================================================================
--- logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/Plugin.java (original)
+++ logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginElement.java Sun Oct 24 17:10:06 2010
@@ -9,9 +9,8 @@ import java.lang.annotation.Target;
*
*/
@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.TYPE)
-public @interface Plugin {
+@Target(ElementType.PARAMETER)
+public @interface PluginElement {
- public String name();
- public String type();
+ public String value();
}
Modified: logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginManager.java
URL: http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginManager.java?rev=1026837&r1=1026836&r2=1026837&view=diff
==============================================================================
--- logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginManager.java (original)
+++ logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginManager.java Sun Oct 24 17:10:06 2010
@@ -64,7 +64,8 @@ public class PluginManager {
for (Class<?> item : r.getClasses())
{
Plugin p = item.getAnnotation(Plugin.class);
- plugins.put(p.name(), new PluginType(item));
+ String type = p.elementType().equals(Plugin.NULL) ? p.name() : p.elementType();
+ plugins.put(p.name(), new PluginType(item, type, p.printObject()));
}
}
Modified: logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginType.java
URL: http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginType.java?rev=1026837&r1=1026836&r2=1026837&view=diff
==============================================================================
--- logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginType.java (original)
+++ logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginType.java Sun Oct 24 17:10:06 2010
@@ -23,13 +23,25 @@ package org.apache.logging.log4j.core.co
public class PluginType {
private Class pluginClass;
+ private String elementName;
+ private boolean printObject = false;
- public PluginType(Class clazz) {
+ public PluginType(Class clazz, String name, boolean printObj) {
this.pluginClass = clazz;
+ this.elementName = name;
+ this.printObject = printObj;
}
public Class getPluginClass() {
return this.pluginClass;
}
+ public String getElementName() {
+ return this.elementName;
+ }
+
+ public boolean isObjectPrintable() {
+ return this.printObject;
+ }
+
}
Modified: logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/filter/FilterBase.java
URL: http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/filter/FilterBase.java?rev=1026837&r1=1026836&r2=1026837&view=diff
==============================================================================
--- logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/filter/FilterBase.java (original)
+++ logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/filter/FilterBase.java Sun Oct 24 17:10:06 2010
@@ -19,6 +19,7 @@ package org.apache.logging.log4j.core.fi
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.core.Filter;
+import org.apache.logging.log4j.core.Lifecycle;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.Logger;
import org.apache.logging.log4j.core.config.Node;
@@ -30,10 +31,8 @@ import org.apache.logging.log4j.message.
* an appender. A filter may choose to support being called only from the context or only from an appender in
* which case it will only implement the required method(s). The rest will default to return NEUTRAL.
*
- * @doubt why extend FilterBase instead of implementing Filter. (RG) Because all filters have a match or
- * mismatch and some filters may choose to not implement all the filter methods.
*/
-public abstract class FilterBase implements Filter {
+public abstract class FilterBase implements Filter, Lifecycle {
protected boolean started;
@@ -75,6 +74,10 @@ public abstract class FilterBase impleme
return onMatch;
}
+ public String toString() {
+ return this.getClass().getSimpleName();
+ }
+
/**
* Appender Filter method. The default returns NEUTRAL.
* @param logger the logger
Modified: logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/filter/MDCFilter.java
URL: http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/filter/MDCFilter.java?rev=1026837&r1=1026836&r2=1026837&view=diff
==============================================================================
--- logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/filter/MDCFilter.java (original)
+++ logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/filter/MDCFilter.java Sun Oct 24 17:10:06 2010
@@ -17,12 +17,13 @@
package org.apache.logging.log4j.core.filter;
import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.MDC;
+import org.apache.logging.log4j.ThreadContext;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.Logger;
import org.apache.logging.log4j.core.config.Node;
import org.apache.logging.log4j.core.config.plugins.Plugin;
+import org.apache.logging.log4j.core.config.plugins.PluginAttr;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.message.Message;
@@ -31,7 +32,7 @@ import java.util.Map;
/**
*
*/
-@Plugin(name="MDC", type="Core")
+@Plugin(name="MDC", type="Core", elementType="filter")
public class MDCFilter extends FilterBase {
private final String key;
private final String value;
@@ -59,15 +60,15 @@ public class MDCFilter extends FilterBas
return this.value;
}
public Result filter(Logger logger, Level level, Marker marker, String msg, Object[] params) {
- return filter(MDC.get(key));
+ return filter(ThreadContext.get(key));
}
public Result filter(Logger logger, Level level, Marker marker, Object msg, Throwable t) {
- return filter(MDC.get(key));
+ return filter(ThreadContext.get(key));
}
public Result filter(Logger logger, Level level, Marker marker, Message msg, Throwable t) {
- return filter(MDC.get(key));
+ return filter(ThreadContext.get(key));
}
@Override
@@ -80,23 +81,12 @@ public class MDCFilter extends FilterBas
}
@PluginFactory
- public static MDCFilter createFilter(Node node) {
- String key = null;
- String value = null;
- Result onMatch = null;
- Result onMismatch = null;
- for (Map.Entry<String, String> entry : node.getAttributes().entrySet()) {
- String name = entry.getKey().toLowerCase();
- if (name.equals(KEY)) {
- key = entry.getValue();
- } else if (name.equals(VALUE)) {
- value = entry.getValue();
- } else if (name.equals(ON_MATCH)) {
- onMatch = Result.valueOf(entry.getValue());
- } else if (name.equals(ON_MISMATCH)) {
- onMismatch = Result.valueOf(entry.getValue());
- }
- }
+ public static MDCFilter createFilter(@PluginAttr("key") String key,
+ @PluginAttr("value") String value,
+ @PluginAttr("onmatch") String match,
+ @PluginAttr("onmismatch") String mismatch) {
+ Result onMatch = match == null ? null : Result.valueOf(match);
+ Result onMismatch = mismatch == null ? null : Result.valueOf(mismatch);
return new MDCFilter(key, value, onMatch, onMismatch);
}
}
Modified: logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/filter/ThresholdFilter.java
URL: http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/filter/ThresholdFilter.java?rev=1026837&r1=1026836&r2=1026837&view=diff
==============================================================================
--- logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/filter/ThresholdFilter.java (original)
+++ logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/filter/ThresholdFilter.java Sun Oct 24 17:10:06 2010
@@ -22,6 +22,7 @@ import org.apache.logging.log4j.core.Log
import org.apache.logging.log4j.core.Logger;
import org.apache.logging.log4j.core.config.Node;
import org.apache.logging.log4j.core.config.plugins.Plugin;
+import org.apache.logging.log4j.core.config.plugins.PluginAttr;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.message.Message;
@@ -35,7 +36,7 @@ import java.util.Map;
*
* The default Level is ERROR.
*/
-@Plugin(name="Threshold", type="Core")
+@Plugin(name="Threshold", type="Core", elementType="filter")
public class ThresholdFilter extends FilterBase {
private static final String LEVEL = "level";
@@ -69,20 +70,13 @@ public class ThresholdFilter extends Fil
}
@PluginFactory
- public static ThresholdFilter createFilter(Node node) {
- Level level = null;
- Result onMatch = null;
- Result onMismatch = null;
- for (Map.Entry<String, String> entry : node.getAttributes().entrySet()) {
- String name = entry.getKey().toLowerCase();
- if (name.equals(LEVEL)) {
- level = Level.toLevel(entry.getValue().toUpperCase(), Level.ERROR);
- } else if (name.equals(ON_MATCH)) {
- onMatch = Result.valueOf(entry.getValue());
- } else if (name.equals(ON_MISMATCH)) {
- onMismatch = Result.valueOf(entry.getValue());
- }
- }
+ public static ThresholdFilter createFilter(@PluginAttr("level") String loggerLevel,
+ @PluginAttr("onMatch") String match,
+ @PluginAttr("onMismatch") String mismatch) {
+ Level level = loggerLevel == null ? Level.ERROR : Level.toLevel(loggerLevel.toUpperCase());
+ Result onMatch = match == null ? null : Result.valueOf(match);
+ Result onMismatch = mismatch == null ? null : Result.valueOf(mismatch);
+
return new ThresholdFilter(level, onMatch, onMismatch);
}
Modified: logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
URL: http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java?rev=1026837&r1=1026836&r2=1026837&view=diff
==============================================================================
--- logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java (original)
+++ logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java Sun Oct 24 17:10:06 2010
@@ -20,6 +20,7 @@ package org.apache.logging.log4j.core.la
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.Node;
import org.apache.logging.log4j.core.config.plugins.Plugin;
+import org.apache.logging.log4j.core.config.plugins.PluginAttr;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.core.helpers.OptionConverter;
import org.apache.logging.log4j.core.layout.pattern.PatternConverter;
@@ -240,7 +241,7 @@ import java.util.Map;
* is specified, then the entire contents of the MDC key value pair set
* is output using a format {{key1,val1},{key2,val2}}</p>
* <p/>
- * <p>See {@link MDC} class for more details.
+ * <p>See {@link ThreadContext} class for more details.
* </p>
* <p/>
* </td>
@@ -386,7 +387,7 @@ import java.util.Map;
* Philip E. Margolis' highly recommended book "C -- a Software
* Engineering Approach", ISBN 0-387-97389-3.
*/
-@Plugin(name="PatternLayout",type="Core")
+@Plugin(name="PatternLayout",type="Core",elementType="layout")
public class PatternLayout extends LayoutBase {
/**
* Default pattern string for log output. Currently set to the
@@ -478,14 +479,7 @@ public class PatternLayout extends Layou
}
@PluginFactory
- public static PatternLayout createLayout(Node node) {
- String pattern = null;
- for (Map.Entry<String, String> entry : node.getAttributes().entrySet()) {
- String name = entry.getKey().toLowerCase();
- if (name.equals("pattern")) {
- pattern = entry.getValue();
- }
- }
+ public static PatternLayout createLayout(@PluginAttr("pattern") String pattern) {
if (pattern != null) {
return new PatternLayout(pattern);
}
Modified: logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/core/config/XMLConfigurationTest.java
URL: http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/core/config/XMLConfigurationTest.java?rev=1026837&r1=1026836&r2=1026837&view=diff
==============================================================================
--- logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/core/config/XMLConfigurationTest.java (original)
+++ logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/core/config/XMLConfigurationTest.java Sun Oct 24 17:10:06 2010
@@ -84,6 +84,14 @@ public class XMLConfigurationTest {
assertEquals(a.getName(), "STDOUT");
}
+ public void testConfiguredAppenders() {
+ LoggerContext ctx = (LoggerContext) LogManager.getContext();
+ Configuration c = ctx.getConfiguration();
+ Map<String, Appender> apps = c.getAppenders();
+ assertNotNull(apps);
+ assertEquals(apps.size(), 3);
+ }
+
@Test
public void logToFile() {
Logger logger = LogManager.getLogger("org.apache.logging.log4j.test2.Test");
Modified: logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java
URL: http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java?rev=1026837&r1=1026836&r2=1026837&view=diff
==============================================================================
--- logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java (original)
+++ logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java Sun Oct 24 17:10:06 2010
@@ -18,7 +18,7 @@ package org.apache.logging.log4j.core.la
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.MDC;
+import org.apache.logging.log4j.ThreadContext;
import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.Logger;
import org.apache.logging.log4j.core.LoggerContext;
@@ -26,7 +26,6 @@ import org.apache.logging.log4j.core.Bas
import org.apache.logging.log4j.core.appender.FileAppender;
import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.util.Compare;
-import org.junit.After;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -75,7 +74,7 @@ public class PatternLayoutTest {
// set up appender
PatternLayout layout = new PatternLayout(msgPattern);
FileOutputStream fos = new FileOutputStream(OUTPUT_FILE + "_mdc");
- Appender appender = new FileAppender("File", layout, fos, OUTPUT_FILE + "_mdc");
+ Appender appender = new FileAppender("File", layout, null, fos, OUTPUT_FILE + "_mdc");
appender.start();
// set appender on root and set level to debug
@@ -100,8 +99,8 @@ public class PatternLayoutTest {
layout.setConversionPattern(mdcMsgPattern5);
root.debug("empty mdc, key1, key2, and key3 in pattern");
- MDC.put("key1", "value1");
- MDC.put("key2", "value2");
+ ThreadContext.put("key1", "value1");
+ ThreadContext.put("key2", "value2");
layout.setConversionPattern(mdcMsgPattern1);
root.debug("filled mdc, no key specified in pattern");
@@ -118,8 +117,8 @@ public class PatternLayoutTest {
layout.setConversionPattern(mdcMsgPattern5);
root.debug("filled mdc, key1, key2, and key3 in pattern");
- MDC.remove("key1");
- MDC.remove("key2");
+ ThreadContext.remove("key1");
+ ThreadContext.remove("key2");
layout.setConversionPattern(msgPattern);
root.debug("finished mdc pattern test");
Modified: logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/log4j-test1.xml
URL: http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/log4j-test1.xml?rev=1026837&r1=1026836&r2=1026837&view=diff
==============================================================================
--- logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/log4j-test1.xml (original)
+++ logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/log4j-test1.xml Sun Oct 24 17:10:06 2010
@@ -15,6 +15,11 @@
<pattern>%d %p %C{1.} [%t] %m%n</pattern>
</PatternLayout>
</File>
+ <List name="List">
+ <filters>
+ <Threshold level="error"/>
+ </filters>
+ </List>
</appenders>
<loggers>
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org