diff --git a/integration/src/IBUNDLE-META-INF/MANIFEST.MF b/integration/src/IBUNDLE-META-INF/MANIFEST.MF index f7f1d5d3..cd0e0b21 100644 --- a/integration/src/IBUNDLE-META-INF/MANIFEST.MF +++ b/integration/src/IBUNDLE-META-INF/MANIFEST.MF @@ -10,6 +10,6 @@ Implementation-Title: iBundle Bundle-ManifestVersion: 2 Bundle-SymbolicName: iBundle Bundle-Name: abundle -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: apack Import-Package: org.osgi.framework, org.slf4j;version=1.5 \ No newline at end of file diff --git a/jcl-over-slf4j/src/main/resources/META-INF/MANIFEST.MF b/jcl-over-slf4j/src/main/resources/META-INF/MANIFEST.MF index a9f06fd5..aa79492a 100755 --- a/jcl-over-slf4j/src/main/resources/META-INF/MANIFEST.MF +++ b/jcl-over-slf4j/src/main/resources/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-SymbolicName: jcl.over.slf4j Bundle-Name: jcl-over-slf4j Bundle-Vendor: SLF4J.ORG -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: org.apache.commons.logging;version=1.2, org.apache.commons.logging.impl;version=1.2 Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, org.slf4j.spi;version=${parsedVersion.osgiVersion} diff --git a/jul-to-slf4j/src/main/resources/META-INF/MANIFEST.MF b/jul-to-slf4j/src/main/resources/META-INF/MANIFEST.MF index d4f9ffb9..adecc065 100644 --- a/jul-to-slf4j/src/main/resources/META-INF/MANIFEST.MF +++ b/jul-to-slf4j/src/main/resources/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-SymbolicName: jul.to.slf4j Bundle-Name: jul-to-slf4j Bundle-Vendor: SLF4J.ORG -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: org.slf4j.bridge;version=${parsedVersion.osgiVersion};uses:="org.slf4j,org.slf4j.spi" Import-Package: org.slf4j;version=${parsedVersion.osgiVersion},org.slf4j.spi;version=${parsedVersion.osgiVersion} Automatic-Module-Name: jul.to.slf4j diff --git a/log4j-over-slf4j/src/main/resources/META-INF/MANIFEST.MF b/log4j-over-slf4j/src/main/resources/META-INF/MANIFEST.MF index 9518f15f..f75d78e5 100755 --- a/log4j-over-slf4j/src/main/resources/META-INF/MANIFEST.MF +++ b/log4j-over-slf4j/src/main/resources/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-SymbolicName: log4j.over.slf4j Bundle-Name: log4j-over-slf4j Bundle-Vendor: SLF4J.ORG -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: org.apache.log4j;version=${log4j.version}, org.apache.log4j.helpers;version=${log4j.version}, org.apache.log4j.spi;version=${log4j.version}, diff --git a/osgi-over-slf4j/src/main/resources/META-INF/MANIFEST.MF b/osgi-over-slf4j/src/main/resources/META-INF/MANIFEST.MF index ce04dd8b..5fa37751 100644 --- a/osgi-over-slf4j/src/main/resources/META-INF/MANIFEST.MF +++ b/osgi-over-slf4j/src/main/resources/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Implementation-Title: osgi-over-slf4j Bundle-ManifestVersion: 2 Bundle-SymbolicName: org.slf4j.osgi-over-slf4j Bundle-Name: OSGi LogService implemented over SLF4J -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Bundle-Activator: org.slf4j.osgi.logservice.impl.Activator Bundle-Category: osgi Import-Package: org.osgi.framework;version="[1.5,2)",org.osgi.service.log;version="[1.3,2)",org.slf4j;version=${parsedVersion.osgiVersion} diff --git a/pom.xml b/pom.xml index 50d4f39c..2dd1658d 100755 --- a/pom.xml +++ b/pom.xml @@ -35,7 +35,7 @@ 1.7.26 - 1.6 + 8 ${jdk.version} ${jdk.version} UTF-8 diff --git a/slf4j-api/src/main/java/org/slf4j/Logger.java b/slf4j-api/src/main/java/org/slf4j/Logger.java index 93dd9945..1c106942 100644 --- a/slf4j-api/src/main/java/org/slf4j/Logger.java +++ b/slf4j-api/src/main/java/org/slf4j/Logger.java @@ -25,6 +25,12 @@ package org.slf4j; +import static org.slf4j.event.Level.TRACE; + +import org.slf4j.spi.DefaultLoggingEventBuilder; +import org.slf4j.spi.LoggingEventBuilder; +import org.slf4j.spi.NOPLoggingEventBuilder; + /** * The org.slf4j.Logger interface is the main user entry point of SLF4J API. * It is expected that logging takes place through concrete implementations @@ -158,6 +164,13 @@ public interface Logger { */ public boolean isTraceEnabled(Marker marker); + default public LoggingEventBuilder atTrace() { + if(isTraceEnabled()) { + return new DefaultLoggingEventBuilder(TRACE, this); + } else { + return NOPLoggingEventBuilder.singleton(); + } + } /** * Log a message with the specific Marker at the TRACE level. * diff --git a/slf4j-api/src/main/java/org/slf4j/spi/DefaultLoggingEventBuilder.java b/slf4j-api/src/main/java/org/slf4j/spi/DefaultLoggingEventBuilder.java new file mode 100755 index 00000000..6b3cc553 --- /dev/null +++ b/slf4j-api/src/main/java/org/slf4j/spi/DefaultLoggingEventBuilder.java @@ -0,0 +1,45 @@ +package org.slf4j.spi; + +import org.slf4j.Logger; +import org.slf4j.Marker; +import org.slf4j.event.Level; + +public class DefaultLoggingEventBuilder implements LoggingEventBuilder { + + Logger logger; + Level level; + + Marker marker; + Throwable cause; + Object parameter; + + + public DefaultLoggingEventBuilder(Level level, Logger logger) { + this.logger = logger; + this.level = level; + } + @Override + public LoggingEventBuilder withMarker(Marker marker) { + this.marker = marker; + return this; + } + + @Override + public LoggingEventBuilder withCause(Throwable cause) { + this.cause = cause; + return this; + } + + @Override + public LoggingEventBuilder withParameter(Object p) { + this.parameter = p; + return this; + } + + @Override + public void log(String message) { + + //logger.log(marker, message, parameter, cause); + } + +} diff --git a/slf4j-api/src/main/java/org/slf4j/spi/LoggingEventBuilder.java b/slf4j-api/src/main/java/org/slf4j/spi/LoggingEventBuilder.java new file mode 100755 index 00000000..15547888 --- /dev/null +++ b/slf4j-api/src/main/java/org/slf4j/spi/LoggingEventBuilder.java @@ -0,0 +1,13 @@ +package org.slf4j.spi; + +import org.slf4j.Marker; + +public interface LoggingEventBuilder { + + + LoggingEventBuilder withMarker(Marker marker); + LoggingEventBuilder withCause(Throwable cause); + LoggingEventBuilder withParameter(Object p); + void log(String message); + +} diff --git a/slf4j-api/src/main/java/org/slf4j/spi/NOPLoggingEventBuilder.java b/slf4j-api/src/main/java/org/slf4j/spi/NOPLoggingEventBuilder.java new file mode 100755 index 00000000..feebfc0b --- /dev/null +++ b/slf4j-api/src/main/java/org/slf4j/spi/NOPLoggingEventBuilder.java @@ -0,0 +1,11 @@ +package org.slf4j.spi; + +public class NOPLoggingEventBuilder implements LoggingEventBuilder { + + static NOPLoggingEventBuilder SINGLETON = new NOPLoggingEventBuilder(); + + public static LoggingEventBuilder singleton() { + return SINGLETON; + } + +} diff --git a/slf4j-api/src/main/resources/META-INF/MANIFEST.MF b/slf4j-api/src/main/resources/META-INF/MANIFEST.MF index 65b0b233..200403fb 100755 --- a/slf4j-api/src/main/resources/META-INF/MANIFEST.MF +++ b/slf4j-api/src/main/resources/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-SymbolicName: slf4j.api Bundle-Name: slf4j-api Bundle-Vendor: SLF4J.ORG -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: org.slf4j;version=${parsedVersion.osgiVersion}, org.slf4j.spi;version=${parsedVersion.osgiVersion}, org.slf4j.helpers;version=${parsedVersion.osgiVersion}, diff --git a/slf4j-ext/src/main/resources/META-INF/MANIFEST.MF b/slf4j-ext/src/main/resources/META-INF/MANIFEST.MF index 3a3d458e..e6929276 100644 --- a/slf4j-ext/src/main/resources/META-INF/MANIFEST.MF +++ b/slf4j-ext/src/main/resources/META-INF/MANIFEST.MF @@ -3,6 +3,6 @@ Bundle-ManifestVersion: 2 Bundle-SymbolicName: slf4j.ext Bundle-Name: slf4j-ext Bundle-Vendor: SLF4J.ORG -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: org.slf4j.profiler;version=${parsedVersion.osgiVersion}, org.slf4j.cal10n;version=${parsedVersion.osgiVersion}, org.slf4j.ext;version=${parsedVersion.osgiVersion} Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, org.slf4j.spi;version=${parsedVersion.osgiVersion}, org.slf4j.helpers;version=${parsedVersion.osgiVersion}, ch.qos.cal10n;version=${cal10n.version};resolution:=optional diff --git a/slf4j-jdk14/src/main/resources/META-INF/MANIFEST.MF b/slf4j-jdk14/src/main/resources/META-INF/MANIFEST.MF index 7251f31f..0c165d31 100755 --- a/slf4j-jdk14/src/main/resources/META-INF/MANIFEST.MF +++ b/slf4j-jdk14/src/main/resources/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-SymbolicName: slf4j.jdk14 Bundle-Name: slf4j-jdk14 Bundle-Vendor: SLF4J.ORG -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: org.slf4j.jul;version=${parsedVersion.osgiVersion} Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, org.slf4j.spi;version=${parsedVersion.osgiVersion}, diff --git a/slf4j-log4j12/src/main/resources/META-INF/MANIFEST.MF b/slf4j-log4j12/src/main/resources/META-INF/MANIFEST.MF index 9f7c363e..48849adf 100755 --- a/slf4j-log4j12/src/main/resources/META-INF/MANIFEST.MF +++ b/slf4j-log4j12/src/main/resources/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-SymbolicName: slf4j.log4j12 Bundle-Name: slf4j-log4j12 Bundle-Vendor: SLF4J.ORG -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: org.slf4j.log4j12;version=${parsedVersion.osgiVersion} Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, org.slf4j.spi;version=${parsedVersion.osgiVersion}, diff --git a/slf4j-nop/src/main/resources/META-INF/MANIFEST.MF b/slf4j-nop/src/main/resources/META-INF/MANIFEST.MF index 73dc3c1c..31995c5d 100755 --- a/slf4j-nop/src/main/resources/META-INF/MANIFEST.MF +++ b/slf4j-nop/src/main/resources/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-SymbolicName: slf4j.nop Bundle-Name: slf4j-nop Bundle-Vendor: SLF4J.ORG -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: org.slf4j.nop;version=${parsedVersion.osgiVersion} Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, org.slf4j.spi;version=${parsedVersion.osgiVersion}, diff --git a/slf4j-simple/src/main/resources/META-INF/MANIFEST.MF b/slf4j-simple/src/main/resources/META-INF/MANIFEST.MF index 6b95a08a..6ffd4fda 100755 --- a/slf4j-simple/src/main/resources/META-INF/MANIFEST.MF +++ b/slf4j-simple/src/main/resources/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-SymbolicName: slf4j.simple Bundle-Name: slf4j-simple Bundle-Vendor: SLF4J.ORG Require-Bundle: slf4j.api -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: org.slf4j.simple;version=${parsedVersion.osgiVersion} Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, org.slf4j.spi;version=${parsedVersion.osgiVersion},