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: [email protected] For additional commands, e-mail: [email protected]
