我正在使用这个设置:
Spring 工具套件
版本:3.5.0.RELEASE 内部版本号:201404011654 JAVA 1.7.51
我正在开发一个 Spring 项目,一切正常。我有用于日志记录的标准配置。但是,如果我在 IDE 中的 tomcat 上运行我的项目,它会记录所有内容。包括我正在使用的所有 JAR。不管是 Hibernate/Spring/Apache CFX 还是标准 TLS 调试输出。一切都写在控制台:(
例如:
496130 [pool-1-thread-1] DEBUG org.apache.cxf.phase.PhaseInterceptorChain - Invoking handleMessage
496139 [pool-1-thread-1] DEBUG org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction - disabling autocommit
这是我的日志:
<?xml version="1.0" encoding="UTF-8"?>
<!-- configuration file for LogBack (slf4J implementation)>
<configuration scan="true" scanPeriod="30 seconds">
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
<resetJUL>true</resetJUL>
</contextListener>
<!-- To enable JMX Management -->
<jmxConfigurator/>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%-5level %logger{0} - %msg%n</pattern>
</encoder>
</appender>
<!--<logger name="org.hibernate" level="debug"/> -->
<!-- Uncomment and add your logger here:
<logger name="org.springframework.samples.service.service" level="debug"/> -->
<root level="info">
<appender-ref ref="console"/>
</root>
也许有人可以帮助我!
非常感谢!
最佳答案
这可能是因为 logback 在类路径中找不到配置文件。我刚刚做了一个测试,将logback.xml
重命名为_logback.xml
。它记录一切!
检查 logback.xml
文件是否在您的类路径中并且名称是否正确。
例如,您可以将其放入 META-INF
(这是我的情况)。
我也发现了这个序列:
- Logback 尝试在类路径中找到名为 logback.groovy 的文件。
- 如果找不到这样的文件,logback 会尝试在类路径中查找名为 logback-test.xml 的文件。
- 如果没有找到这样的文件,它会检查类路径中的文件 logback.xml..
- 如果两个文件都没有找到,logback 会使用 BasicConfigurator 自动配置自己,这将导致日志输出被定向到控制台。
希望这对您有所帮助!
关于java - Spring/Eclipse 项目突然记录一切,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23383399/