2016-05-17 33 views
5

Hiện tại tôi đang làm việc với bộ đệm Spring Cache và chú thích @Cacheable/@CacheEvict.Ghi nhật ký bộ nhớ cache của Spring vào @Cacheable hit

Tôi muốn để có được một số loại một tuyên bố đăng nhập console như "INFO: i got those values from the cache, NOT from the host. awesome"

Có cách nào sạch sẽ và dễ dàng để làm được điều này? Chúng tôi đang sử dụng slf4j dường như btw, nếu đó là bất kỳ quan tâm.

Trả lời

12

Bản thân Spring ghi nhật ký một số hành vi Caching Abstractions của nó dưới trình ghi nhật ký org.springframework.cache ở mức trace. Vì vậy, nếu bạn gắn các nhật ký bên dưới trình ghi nhật ký org.springframework.cache vào một trình bổ sung thích hợp, bạn sẽ có một số thông tin hữu ích trên bảng điều khiển. Nếu bạn đang sử dụng Logback, bạn có thể sử dụng một cái gì đó như sau trong logback.xml của bạn:

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

Với cấu hình này, bạn sẽ thấy một cái gì đó như sau trên giao diện điều khiển của bạn: lối vào

Cache cho chìa khóa ' Yêu cầu trang [số: 0, kích thước 20, sắp xếp: null] ' tìm thấy trong bộ nhớ cache' người '

+1

đã giúp tôi tìm cấu hình tương tự trong thiết lập dự án của mình. cảm ơn :) – BassSultan

Các vấn đề liên quan