Author: olamy
Date: Wed Dec 21 17:23:03 2011
New Revision: 1221816
URL: http://svn.apache.org/viewvc?rev=1221816&view=rev
Log:
[MTOMCAT-110] Support Slf4j bridge logger.
Modified:
tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7RunnerCli.java
Modified:
tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
URL:
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java?rev=1221816&r1=1221815&r2=1221816&view=diff
==============================================================================
---
tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
(original)
+++
tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
Wed Dec 21 17:23:03 2011
@@ -32,6 +32,8 @@ import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
@@ -87,6 +89,8 @@ public class Tomcat7Runner
public File extractDirectoryFile;
+ public String loggerName;
+
Catalina container;
Tomcat tomcat;
@@ -107,6 +111,11 @@ public class Tomcat7Runner
PasswordUtil.deobfuscateSystemProps();
+ if ( loggerName != null && loggerName.length() > 0 )
+ {
+ installLogger( loggerName );
+ }
+
this.extractDirectoryFile = new File( this.extractDirectory );
debugMessage( "use extractDirectory:" + extractDirectoryFile.getPath()
);
@@ -533,4 +542,34 @@ public class Tomcat7Runner
{
return Boolean.parseBoolean( runtimeProperties.getProperty(
ENABLE_NAMING_KEY, Boolean.FALSE.toString() ) );
}
+
+ private void installLogger( String loggerName )
+ throws SecurityException, NoSuchMethodException,
IllegalArgumentException, IllegalAccessException,
+ InvocationTargetException
+ {
+ if ( "slf4j".equals( loggerName ) )
+ {
+
+ try
+ {
+ // Check class is available
+ final Class<?> clazz = Class.forName(
"org.slf4j.bridge.SLF4JBridgeHandler" );
+
+ // Remove all JUL handlers
+ java.util.logging.LogManager.getLogManager().reset();
+
+ // Install slf4j bridge handler
+ final Method method = clazz.getMethod( "install", null );
+ method.invoke( null );
+ }
+ catch ( ClassNotFoundException e )
+ {
+ System.out.println( "WARNING: issue configuring slf4j jul
bridge, skip it" );
+ }
+ }
+ else
+ {
+ System.out.println( "WARNING: loggerName " + loggerName + " not
supported, skip it" );
+ }
+ }
}
Modified:
tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7RunnerCli.java
URL:
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7RunnerCli.java?rev=1221816&r1=1221815&r2=1221816&view=diff
==============================================================================
---
tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7RunnerCli.java
(original)
+++
tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7RunnerCli.java
Wed Dec 21 17:23:03 2011
@@ -84,6 +84,9 @@ public class Tomcat7RunnerCli
static Option extractDirectory = OptionBuilder.withArgName(
"extractDirectory" ).hasArg().withDescription(
"path to extract war content default value .extract" ).create(
"extractDirectory" );
+ static Option loggerName = OptionBuilder.withArgName( "loggerName"
).hasArg().withDescription(
+ "logger to use: slf4j to use slf4j bridge on top of jul" ).create(
"loggerName" );
+
static Options options = new Options();
@@ -92,7 +95,7 @@ public class Tomcat7RunnerCli
options.addOption( httpPort ).addOption( httpsPort ).addOption(
ajpPort ).addOption( serverXmlPath ).addOption(
resetExtract ).addOption( help ).addOption( debug ).addOption(
sysProps ).addOption(
httpProtocol ).addOption( clientAuth ).addOption( keyAlias
).addOption( obfuscate ).addOption(
- extractDirectory );
+ extractDirectory ).addOption( loggerName );
}
@@ -185,6 +188,11 @@ public class Tomcat7RunnerCli
tomcat7Runner.extractDirectory = line.getOptionValue(
extractDirectory.getOpt() );
}
+ if ( line.hasOption( loggerName.getOpt() ) )
+ {
+ tomcat7Runner.loggerName = line.getOptionValue(
loggerName.getOpt() );
+ }
+
// here we go
tomcat7Runner.run();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]