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