我的tomcat日志目前混合了不同格式的日志消息。所以我试图使用JUL-to-SLF4J桥来设置SLF4J。
我最初收到像
这样的日志消息2013年5月23日下午7:57:17 org.apache.catalina.core.StandardService startInternal
信息:启动服务Catalina
2013年5月23日下午7:57:17 org.apache.catalina.core.StandardEngine startInternal
信息:启动Servlet引擎:Apache Tomcat / 7.0.29
2013-05-23 19:57:47,224 [localhost-startStop-1]从类路径资源[META-INF / cxf / cxf.xml]加载XML bean定义
2013-05-23 19:57:47,246 [localhost-startStop-1]从类路径资源[META-INF / cxf / cxf-servlet.xml]加载XML bean定义
我跟着这里的博客.. http://hwellmann.blogspot.com/2012/11/logging-with-slf4j-and-logback-in.html
为SLF4J使用以下罐子: 七月到SLF4J-1.7.5.jar, SLF4J-API-1.7.5.jar
和logging.properties
handlers = org.slf4j.bridge.SLF4JBridgeHandler
我目前没有收到混合消息,但是在tomcat开始时。它不打印tomcat格式,但会抛出处理程序错误
以下是日志片段
Handler error
java.lang.ClassNotFoundException: org.slf4j.bridge.SLF4JBridgeHandler
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:521)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:464)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:288)
at java.util.logging.LogManager$2.run(LogManager.java:278)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:276)
at java.util.logging.LogManager.getLogManager(LogManager.java:259)
at java.util.logging.Logger.<init>(Logger.java:245)
at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1104)
at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1101)
at java.util.logging.LogManager$1.run(LogManager.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.<clinit>(LogManager.java:176)
at java.util.logging.Logger.getLogger(Logger.java:307)
at com.sun.jmx.remote.util.ClassLogger.<init>(ClassLogger.java:55)
at sun.management.jmxremote.ConnectorBootstrap.<clinit>(ConnectorBootstrap.java:739)
at sun.management.Agent.startAgent(Agent.java:147)
at sun.management.Agent.startAgent(Agent.java:289)
***startInternal() called
***startInternal() JoranConfigurator
我已经解决了这个问题好几天了,尝试过很多组合,但是找不到任何运气。
提前致谢!
答案 0 :(得分:2)
只需为Linux创建或编辑CATALINA_HOME / bin / setenv.sh:
CLASSPATH=$CATALINA_HOME/bin/jul-to-slf4j-1.7.5.jar:\
$CATALINA_HOME/bin/slf4j-api-1.7.5.jar
适用于Windows的或CATALINA_HOME \ bin \ setenv.bat:
set CLASSPATH=%CATALINA_HOME%\bin\jul-to-slf4j-1.7.5.jar;^
%CATALINA_HOME%\bin\slf4j-api-1.7.5.jar