2016-05-17 2 views
5

Derzeit arbeite ich mit einem Spring Cache und die @Cacheable/@CacheEvict Annotationen.Spring-Cache-Anmeldung @Cacheable Hit

würde Ich mag wie "INFO: i got those values from the cache, NOT from the host. awesome"

ist so etwas wie ein Konsolenprotokoll Erklärung bekommen es eine saubere und einfache Möglichkeit, dies zu tun? Wir verwenden slf4j anscheinend übrigens, wenn das von Interesse ist.

Antwort

12

Spring selbst protokolliert einige seiner Caching Abstractions Verhaltensweisen unter der org.springframework.cache Logger in trace Ebene. Wenn Sie also Logs unter dem Logger org.springframework.cache an einen geeigneten Appender anhängen, hätten Sie einige nützliche Informationen zum Beispiel über die Konsole. Wenn Sie Logback verwenden, Sie so etwas wie die folgenden in Ihrem logback.xml verwenden:

Cache-Eintrag für Schlüssel ':

<?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> 

Mit dieser Konfiguration sollten Sie etwas wie folgt auf der Konsole sehen Seitenanforderung [Nummer: 0, Größe 20, Sortierung: null] ' gefunden im Cache' Personen '

+1

das hat mir geholfen, die ähnliche Konfiguration in unserem Projekt-Setup zu finden. Vielen Dank :) – BassSultan