在我的Spring Hibernate项目中,我使用LogBack通过SLF4J 1.6.4进行日志记录 . 现在,我添加了Ehcache 2.2.0(通过ehcache-spring-annotations-1.1.3) . 缓存似乎是作为方法工作,使用@Cacheable注释,不再执行,但返回正确的结果 . 但是,我有兴趣看到Ehcache写的日志 . 由于Ehcache也使用SLF4J,我想,日志应该写入我的日志文件中 . 但是,这种情况并没有发生 . logback.xml具有以下内容 .
<root level="info">
<appender-ref ref="STDOUT"/>
<appender-ref ref="ROLLING"/>
</root>
添加以下内容也无济于事
<logger name="net.sf.ehcache">
</logger>
ehcache.xml中
<cache name="sampleCache1"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
memoryStoreEvictionPolicy="LFU"
/>
请告诉我克服这个问题 .
Ehcache正在使用SLF4J 1.6.1,而我的项目正在使用SLF4J 1.6.4 . 它会引起任何问题吗?
谢谢
3 回答
EhCache在
DEBUG
级别上记录了很多 . 首先,此配置代码段过滤掉INFO
下面的所有日志记录语句:将其更改为
其次
需要提高日志记录级别
然后,您应该看到EhCache(和其他人)的大量日志记录 .
在我看来,将根 Logger 级别设置为
ALL
并不是一个好主意 .这意味着每个级别的
ALL
日志消息都将通过(除非您在appender上设置阈值) .相反,我建议您设置合理的根 Logger 级别,例如
INFO
或WARN
,然后在需要更多特定信息时设置各个 Logger 的日志级别 .这样您就不会创建不必要信息的森林 .
我建议如下:
我还发现在
org.springframework.cache
上启用DEBUG登录非常方便,因为我有_2689532的缓存功能(@Cacheable等) .