2012-05-22 4 views
9

내 Spring + Hibernate 프로젝트에서 LogBack으로 SLF4J 1.6.4 로깅을 수행하고있었습니다. 이제 Ehcache 2.2.0을 추가했습니다 (ehcache-spring-annotations-1.1.3을 통해). 캐싱은 올바른 결과를 반환하지만 @Cacheable 주석이 달린 메소드가 더 이상 실행되지 않는 것처럼 작동하는 것 같습니다. 그러나 나는 Ehcache가 기록한 로그를 보는 데 관심이 있습니다. Ehcache도 SLF4J를 사용하기 때문에 로그 파일에 로그를 기록해야합니다. 그러나 이것은 일어나지 않습니다. logback.xml은 다음과 같습니다.Ehcache 로깅을 활성화하는 방법

<root level="info"> 
    <appender-ref ref="STDOUT"/> 
    <appender-ref ref="ROLLING"/> 
</root> 

다음은 또한

<logger name="net.sf.ehcache"> 
</logger> 

Ehcache.xml

<cache name="sampleCache1" 
     eternal="false" 
     overflowToDisk="true" 
     timeToIdleSeconds="300" 
     timeToLiveSeconds="600"   
     memoryStoreEvictionPolicy="LFU"   
     /> 

문제를 극복하기 위해 저를 알려 주시기 바랍니다 도움이되지 않습니다 추가.

내 프로젝트가 SLF4J 1.6.4를 사용하는 동안 Ehcache는 SLF4J 1.6.1을 사용하고 있습니다. 어떤 문제가 발생할 수 있습니까?

감사

+0

난 그냥으로 Ehcache는 내가 기대했던 모든 것을 기록하지 않는 것을 발견 :

나는 아래 같은 것을 제안한다. 그래서, 실제로 당신이 기대하는 것을 기록한다면, 당신은 ehcache를 보았습니까? – codesmith

답변

44

으로 Ehcache는 DEBUG 수준에서 많은 기록합니다. 우선,이 구성 조각은 INFO 아래의 모든 로깅 문을 필터링 : 둘째

<root level="ALL"> 

<logger name="net.sf.ehcache"> 

<root level="info"> 

변경이 증가 로깅 수준을 필요로

<logger name="net.sf.ehcache" level="ALL"/> 

그러면 EhCache (및 기타)의 많은 로깅 구문을 볼 수 있습니다.

+0

감사합니다. Tomasz. 귀하의 솔루션이 효과적입니다. – Tamim

+3

죄송합니다. 투표 할만한 충분한 평판이 없습니다. – Tamim

+0

게시자가 게시 한 퀘스트를보실 수 있습니까? http://stackoverflow.com/questions/41734999/spring-framework-application-properties-vs-logback- xml – user18853

5

또한 스프링 프레임 워크 4.2.1의 캐싱 기능 (@Cacheable 등)을 사용하고 있기 때문에 org.springframework.cache에 DEBUG 로깅을 사용하는 것이 편리하다는 것을 알았습니다.

+0

은이 줄을 application.properties에 추가하는 것을 의미합니다 : "logging.level.org.springframework.cache : DEBUG" – user18853

+0

그래도 작동하지만 다른 방법으로도이를 수행 할 수 있습니다 (https : // docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html). – ben3000

5

제 의견으로는 루트 로거 레벨을 ALL으로 설정하는 것은 좋지 않습니다.

이것은 모든 수준의 ALL 로그 메시지가 통과한다는 것을 의미합니다 (애펜더에 임계 값을 설정하지 않은 경우).

대신 구체적인 정보가 필요하면 합당한 루트 로거 수준 (예 : INFO 또는 WARN)을 설정 한 다음 개별 로거의 로그 수준을 설정하는 것이 좋습니다.

이렇게하면 불필요한 정보가 포함 된 포리스트가 생성되지 않습니다.

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> 
    <param name="Target" value="System.out"/> 
    <layout class="org.apache.log4j.PatternLayout"> 
    <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> 
    </layout> 
</appender> 

<logger name="net.sf.ehcache"> 
    <level value="DEBUG"/> 
</logger> 

<root> 
    <priority value ="INFO" /> 
    <appender-ref ref="CONSOLE" /> 
</root> 

관련 문제