From ed4b78f720cb126529b44f53ae2ce1b83f12592c Mon Sep 17 00:00:00 2001 From: Ceki Gulcu Date: Mon, 2 Jul 2007 19:35:02 +0000 Subject: [PATCH] started work on 1.4.1 --- jcl104-over-slf4j/pom.xml | 2 +- osgi-over-slf4j/pom.xml | 2 +- pom.xml | 2 +- slf4j-api/pom.xml | 2 +- slf4j-api/src/main/java/org/slf4j/MDC.java | 80 +++++++++++++++++++ .../slf4j/spi/MappedDiagnosticContext.java | 31 +++++++ slf4j-archetype/pom.xml | 2 +- slf4j-jcl/pom.xml | 2 +- slf4j-jdk14/pom.xml | 2 +- slf4j-log4j12/pom.xml | 2 +- slf4j-nop/pom.xml | 2 +- slf4j-osgi-integration-test/pom.xml | 2 +- slf4j-osgi-test-bundle/pom.xml | 2 +- slf4j-simple/pom.xml | 2 +- slf4j-site/pom.xml | 2 +- 15 files changed, 124 insertions(+), 13 deletions(-) create mode 100644 slf4j-api/src/main/java/org/slf4j/MDC.java create mode 100644 slf4j-api/src/main/java/org/slf4j/spi/MappedDiagnosticContext.java diff --git a/jcl104-over-slf4j/pom.xml b/jcl104-over-slf4j/pom.xml index a9bdacf7..73756b69 100644 --- a/jcl104-over-slf4j/pom.xml +++ b/jcl104-over-slf4j/pom.xml @@ -3,7 +3,7 @@ org.slf4j slf4j-parent - 1.4.0 + 1.4.1-SNAPSHOT 4.0.0 diff --git a/osgi-over-slf4j/pom.xml b/osgi-over-slf4j/pom.xml index b8657169..00bab9df 100644 --- a/osgi-over-slf4j/pom.xml +++ b/osgi-over-slf4j/pom.xml @@ -3,7 +3,7 @@ org.slf4j slf4j-parent - 1.4.0 + 1.4.1-SNAPSHOT 4.0.0 diff --git a/pom.xml b/pom.xml index fe17f4f1..a082e439 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.slf4j slf4j-parent - 1.4.0 + 1.4.1-SNAPSHOT pom SLF4J diff --git a/slf4j-api/pom.xml b/slf4j-api/pom.xml index 554b4203..d3724c1c 100644 --- a/slf4j-api/pom.xml +++ b/slf4j-api/pom.xml @@ -5,7 +5,7 @@ org.slf4j slf4j-parent - 1.4.0 + 1.4.1-SNAPSHOT 4.0.0 diff --git a/slf4j-api/src/main/java/org/slf4j/MDC.java b/slf4j-api/src/main/java/org/slf4j/MDC.java new file mode 100644 index 00000000..ce9154cc --- /dev/null +++ b/slf4j-api/src/main/java/org/slf4j/MDC.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2004-2007 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +package org.slf4j; + +import org.slf4j.helpers.Util; +import org.slf4j.impl.StaticMarkerBinder; + +/** + * MDC class serves as an abstraction for the underlying logging system's + * MDC implementation. At this time, only log4j and logback offer MDC + * functionality. For other systems, this class defaults to nop (empty) + * implemnetation. + * + *

+ * Please note that all methods in this class are static. + * + * @author Ceki Gülcü + */ +public class MDC { + static IMarkerFactory markerFactory; + + private MDC() { + } + + static { + try { + markerFactory = StaticMarkerBinder.SINGLETON.getMarkerFactory(); + } catch (Exception e) { + // we should never get here + Util.reportFailure("Could not instantiate instance of class [" + + StaticMarkerBinder.SINGLETON.getMarkerFactoryClassStr() + "]", e); + } + } + + /** + * Return a Marker instance as specified by the name parameter using the + * previously bound {@link IMarkerFactory}instance. + * + * @param name + * The name of the {@link Marker} object to return. + * @return marker + */ + public static Marker getMarker(String name) { + return markerFactory.getMarker(name); + } + + /** + * Return the {@link IMarkerFactory}instance in use. + * + *

The IMarkerFactory instance is usually bound with this class at + * compile time. + * + * @return the IMarkerFactory instance in use + */ + public static IMarkerFactory getIMarkerFactory() { + return markerFactory; + } +} \ No newline at end of file diff --git a/slf4j-api/src/main/java/org/slf4j/spi/MappedDiagnosticContext.java b/slf4j-api/src/main/java/org/slf4j/spi/MappedDiagnosticContext.java new file mode 100644 index 00000000..a13d105e --- /dev/null +++ b/slf4j-api/src/main/java/org/slf4j/spi/MappedDiagnosticContext.java @@ -0,0 +1,31 @@ +package org.slf4j.spi; + +public interface MappedDiagnosticContext { + + /** + * Put a context value (the val parameter) as identified with + * the key parameter into the current thread's context map. + * + *

If the current thread does not have a context map it is created as a side + * effect of this call. + */ + public void put(String key, String val); + + /** + * Get the context identified by the key parameter. + * + * @return the string value identified by the key parameter. + */ + public String get(String key); + + /** + * Remove the the context identified by the key parameter. + */ + public void remove(String key); + + /** + * Clear all entries in the MDC. + */ + public void clear(); + +} diff --git a/slf4j-archetype/pom.xml b/slf4j-archetype/pom.xml index 90516a85..a9043292 100644 --- a/slf4j-archetype/pom.xml +++ b/slf4j-archetype/pom.xml @@ -2,7 +2,7 @@ slf4j-parent org.slf4j - 1.4.0 + 1.4.1-SNAPSHOT 4.0.0 diff --git a/slf4j-jcl/pom.xml b/slf4j-jcl/pom.xml index 02ca5502..647fb38c 100644 --- a/slf4j-jcl/pom.xml +++ b/slf4j-jcl/pom.xml @@ -3,7 +3,7 @@ org.slf4j slf4j-parent - 1.4.0 + 1.4.1-SNAPSHOT 4.0.0 diff --git a/slf4j-jdk14/pom.xml b/slf4j-jdk14/pom.xml index 8bbee4df..20c6e44c 100644 --- a/slf4j-jdk14/pom.xml +++ b/slf4j-jdk14/pom.xml @@ -6,7 +6,7 @@ org.slf4j slf4j-parent - 1.4.0 + 1.4.1-SNAPSHOT 4.0.0 diff --git a/slf4j-log4j12/pom.xml b/slf4j-log4j12/pom.xml index 4cb44173..f0528bb8 100644 --- a/slf4j-log4j12/pom.xml +++ b/slf4j-log4j12/pom.xml @@ -6,7 +6,7 @@ org.slf4j slf4j-parent - 1.4.0 + 1.4.1-SNAPSHOT 4.0.0 diff --git a/slf4j-nop/pom.xml b/slf4j-nop/pom.xml index b91f761e..b36b54b3 100644 --- a/slf4j-nop/pom.xml +++ b/slf4j-nop/pom.xml @@ -6,7 +6,7 @@ org.slf4j slf4j-parent - 1.4.0 + 1.4.1-SNAPSHOT 4.0.0 diff --git a/slf4j-osgi-integration-test/pom.xml b/slf4j-osgi-integration-test/pom.xml index db2ee7e3..b122620c 100644 --- a/slf4j-osgi-integration-test/pom.xml +++ b/slf4j-osgi-integration-test/pom.xml @@ -6,7 +6,7 @@ org.slf4j slf4j-parent - 1.4.0 + 1.4.1-SNAPSHOT 4.0.0 diff --git a/slf4j-osgi-test-bundle/pom.xml b/slf4j-osgi-test-bundle/pom.xml index 0a9171c7..9f699290 100644 --- a/slf4j-osgi-test-bundle/pom.xml +++ b/slf4j-osgi-test-bundle/pom.xml @@ -6,7 +6,7 @@ org.slf4j slf4j-parent - 1.4.0 + 1.4.1-SNAPSHOT 4.0.0 diff --git a/slf4j-simple/pom.xml b/slf4j-simple/pom.xml index e3d51042..b98c7504 100644 --- a/slf4j-simple/pom.xml +++ b/slf4j-simple/pom.xml @@ -3,7 +3,7 @@ org.slf4j slf4j-parent - 1.4.0 + 1.4.1-SNAPSHOT 4.0.0 diff --git a/slf4j-site/pom.xml b/slf4j-site/pom.xml index 50e43d62..87f84a73 100644 --- a/slf4j-site/pom.xml +++ b/slf4j-site/pom.xml @@ -5,7 +5,7 @@ org.slf4j slf4j-parent - 1.4.0 + 1.4.1-SNAPSHOT 4.0.0