【发布时间】:2013-05-04 13:54:53
【问题描述】:
我的 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 使用以下 jar: 7 月到 slf4j-1.7.5.jar, slf4j-api-1.7.5.jar
在 logging.properties 中
handlers = org.slf4j.bridge.SLF4JBridgeHandler
我目前没有收到混合消息,但在启动 tomcat 时。它没有打印 tomcat 格式,但会抛出 Handler error
下面是日志的sn-p
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
我已经解决这个问题好几天了,尝试了很多组合,但找不到任何运气。
提前致谢!
【问题讨论】:
-
从那时起很久......但我想我有同样的问题。我的错误是我在 /lib 而不是 /bin 中复制了额外的 jar。确保将它们复制到 /bin 中,并且 setenv.sh 正在设置正确的 CLASSPATH,如说明中所述。现在可以了!
标签: tomcat logging slf4j logback java.util.logging