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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org