3.0버전 log 출력
- 작성자 :
- 이*진
- 작성일 :
- 2014-06-19 15:00:09
- 조회수 :
- 866
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
3.0버전으로 template 프로젝트를 생성하였습니다.
새로 추가된 sample 패키지의 클래스 내부에서 로그를 사용할려고 하니
log4j:WARN No appenders could be found for logger (sample.web.SampleBSPController).
log4j:WARN Please initialize the log4j system properly.
오류가 납니다.
3.0버전에는 log4j2.xml 파일이 있더군요, 여기에 아래와 같이 설정하고
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %5p [%c] %m%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="java.sql" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="egovframework" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="hops" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
<!-- log SQL with timing information, post execution -->
<logger name="jdbc.sqltiming" level="INFO" additivity="false">
<appender-ref ref="console" />
</logger>
<logger name="org.springframework" level="INFO" additivity="false">
<appender-ref ref="console" />
</logger>
<Root level="ERROR">
<AppenderRef ref="console" />
</Root>
</Loggers>
</Configuration>
해당 클래스에서는
Logger log = Logger.getLogger(this.getClass());
해서 사용 중입니다.
새로 추가된 sample 패키지의 클래스 내부에서 로그를 사용할려고 하니
log4j:WARN No appenders could be found for logger (sample.web.SampleBSPController).
log4j:WARN Please initialize the log4j system properly.
오류가 납니다.
3.0버전에는 log4j2.xml 파일이 있더군요, 여기에 아래와 같이 설정하고
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %5p [%c] %m%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="java.sql" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="egovframework" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="hops" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
<!-- log SQL with timing information, post execution -->
<logger name="jdbc.sqltiming" level="INFO" additivity="false">
<appender-ref ref="console" />
</logger>
<logger name="org.springframework" level="INFO" additivity="false">
<appender-ref ref="console" />
</logger>
<Root level="ERROR">
<AppenderRef ref="console" />
</Root>
</Loggers>
</Configuration>
해당 클래스에서는
Logger log = Logger.getLogger(this.getClass());
해서 사용 중입니다.
A
안녕하세요.
말씀해주신 로그는 오류가 아니라 호출하신 Logger 객체와 Logger가 따르는 설정파일의 문법이 일치하지 않아 경고가 발생한 것 같습니다.
표준프레임워크 3.0에서는 SLF4J를 인터페이스로 하여 Log4j 2를 구현체로 Logging 하도록 되어 있습니다.
(기존에는 Commons Logging을 인터페이스로 하여 Log4j 1.x를 구현체로 하거나 Log4j 1.x를 직접 사용)
Logger 객체는
private static final Logger LOGGER = LoggerFactory.getLogger(클래스명.class);를 통해 생성해야하고,
debug(), info() 등 기존 log4j 1.x에서 사용하던 로깅메서드는 동일합니다.
관련 상세 설정 및 사용방법은 실행환경 개발 가이드를 참고하시기 바랍니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte3:fdl:logging:slf4j
감사합니다.
말씀해주신 로그는 오류가 아니라 호출하신 Logger 객체와 Logger가 따르는 설정파일의 문법이 일치하지 않아 경고가 발생한 것 같습니다.
표준프레임워크 3.0에서는 SLF4J를 인터페이스로 하여 Log4j 2를 구현체로 Logging 하도록 되어 있습니다.
(기존에는 Commons Logging을 인터페이스로 하여 Log4j 1.x를 구현체로 하거나 Log4j 1.x를 직접 사용)
Logger 객체는
private static final Logger LOGGER = LoggerFactory.getLogger(클래스명.class);를 통해 생성해야하고,
debug(), info() 등 기존 log4j 1.x에서 사용하던 로깅메서드는 동일합니다.
관련 상세 설정 및 사용방법은 실행환경 개발 가이드를 참고하시기 바랍니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte3:fdl:logging:slf4j
감사합니다.