命中@Cacheable时进行弹簧缓存日志记录
2022-09-01 04:49:57
目前,我正在使用Spring Cache和/注释。@Cacheable
@CacheEvict
我想得到某种控制台日志语句,如"INFO: i got those values from the cache, NOT from the host. awesome"
有没有一种干净而简单的方法来做到这一点?顺便说一句,我们显然正在使用,如果这有任何意义的话。slf4j
目前,我正在使用Spring Cache和/注释。@Cacheable
@CacheEvict
我想得到某种控制台日志语句,如"INFO: i got those values from the cache, NOT from the host. awesome"
有没有一种干净而简单的方法来做到这一点?顺便说一句,我们显然正在使用,如果这有任何意义的话。slf4j
Spring本身在级别记录器下的一些缓存抽象行为。因此,如果将记录器下的日志追加到适当的追加器,您将获得有关控制台的一些有用信息。如果您使用的是 Logback,则可以在以下位置使用:org.springframework.cache
trace
org.springframework.cache
logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<logger name="org.springframework.cache" level="trace">
<appender-ref ref="STDOUT" />
</logger>
</configuration>
使用此配置时,您应该会在主机上看到类似以下内容的内容:
在缓存“人员”中找到键“页面请求[编号:0,大小20,排序:空]”的缓存条目
对于Spring Boot 2,您可以在应用程序中添加属性:
logging.level.org.springframework.cache=TRACE