現在、Spring Cacheと_@Cacheable
_/_@CacheEvict
_アノテーションを使用しています。
_"INFO: i got those values from the cache, NOT from the Host. awesome"
_のようなコンソールログステートメントを取得したい
これを行うためのクリーンで簡単な方法はありますか?興味深いことに、明らかに_slf4j
_を使用しています。
Spring自体は、trace
レベルのorg.springframework.cache
ロガーの下にキャッシング抽象化動作の一部を記録します。したがって、org.springframework.cache
ロガーの下のログを適切なアペンダーに追加すると、コンソールなどの有用な情報が得られます。 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>
この構成では、コンソールに次のようなものが表示されるはずです。
キャッシュ 'persons'で見つかったキー 'Page request [number:0、size 20、sort:null]'のキャッシュエントリ
また、Spring Boot 2の場合、application.propertiesに追加できます。
logging.level.org.springframework.cache=TRACE