2016-05-17 25 views
5

目前我正在使用Spring緩存和@Cacheable/@CacheEvict註釋。@Cacheable上的彈簧緩存記錄命中

我想獲得某種類似"INFO: i got those values from the cache, NOT from the host. awesome"

有一個清潔,簡單的方法來做到這一點控制檯日誌語句的?我們正在使用slf4j明顯btw,如果這是任何利益。

回答

12

Spring本身在記錄器中記錄trace級別下的一些緩存抽象行爲。因此,如果您將org.springframework.cache記錄器中的日誌追加到適當的appender,那麼您可以在控制檯上獲得一些有用的信息。如果您使用的logback,你可以使用類似下面你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> 

有了這個配置,你應該看到類似以下的控制檯上:關鍵

Cache條目「頁面請求[編號:0,大小20,排序:空]' 發現緩存'人'

+1

幫助我找到我們的項目設置中類似的配置。謝謝 :) – BassSultan