2017-02-17 11 views
1

Tapestry 5.4에서 log4j2로 slf4j를 기본으로 사용하려고 시도한 적이 있습니까? 나는이 같은 log4j2 사용할 수 있습니다Tapestry 5 + log4j2

import org.apache.logging.log4j.LogManager; 
import org.apache.logging.log4j.Logger; 
...  
private Logger logger = LogManager.getLogger(this.getClass()); 

을하지만 이런 식으로 사용할 수 없습니다

import org.apache.tapestry5.ioc.annotations.Inject; 
import org.slf4j.Logger; 
... 
@Inject private Logger logger; 
내가 생각하기 때문에, 내 Gradle을 스크립트 필요한 을 추가 왜, 내가 이해할 수없는

libs :

runtime group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.8' 
runtime group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.8' 
runtime group: 'org.apache.logging.log4j', name: 'log4j-web', version: '2.8' 
runtime group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.8' 

누구 아이디어가 있습니까? 왜 저에게 적합하지 않습니까?

미리 감사드립니다.

+0

오류 거기를? 작동하지 않는다는 것을 어떻게 알 수 있습니까? –

+1

안녕하세요! 답장을 보내 주셔서 감사합니다. 문제는 log4j2.xml에서 min 레벨 DEBUG가 설정되었지만 인젝션 버전을 사용하는 경우 정보 레벨에서만 로깅하지만이 '개인 로거 logger = LogManager.getLogger (this.getClass()); DEBUG 레벨이 켜졌습니다. 어쨌든 제 동료가 도와주었습니다. 해결책에 대한 답변을 드리겠습니다. :) – LakiGeri

답변

1

내가 도와되었고, 나는이에 Gradle을 파일 변경했다, 해결책을 발견

compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.8' 
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.8' 
compile group: 'org.apache.logging.log4j', name: 'log4j-web', version: '2.8' 
compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.8'