새로운 프로젝트를 생성한 후, slf4j를 사용하여 logging(Logger.info()) 이 출력했는데. 출력되지 않는 경우가 있다. Logging이 안된다면 slf4j-simple을 빌드 dependency에 포함시켰는지 확인한다.
Logger 출력 클래스
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Controller
@RequestMapping("test")
public class TestController {
//private static final Logger logger = LoggerFactory.getLogger(TestController.class);
private final Logger logger = LoggerFactory.getLogger(this.getClass());
..
}
log4j.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
</layout>
</appender>
<!-- Application Loggers -->
<logger name="com.google.idp.admin">
<level value="debug" />
</logger>
<!-- 3rdparty Loggers -->
<logger name="org.springframework">
<level value="debug" />
</logger>
<!-- Root Logger -->
<root>
<priority value="info" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
이럴 때는 pom.xml 파일을 살펴본다.
eclipse(또는 Spring Tool Suite)를 사용하고 있다면, Dependency Hierarchy를 살펴보아서 slf4j-simple이 제대로 포함되어 컴파일되어 있는지 확인해야 한다.
만약 없다면 pom.xml 파일에 slf4j-simple dependency를 추가한다.
pom.xml
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.5</version>
</dependency>
'java libs' 카테고리의 다른 글
G1 GC 를 사용하는 java 7 update 25 애플리케이션 장애 해결 사례 공유 (0) | 2015.01.20 |
---|---|
log4jdbc (0) | 2011.12.16 |
Apache Commons에서 nexus 활용 (0) | 2010.08.18 |
Ehcache의 ShutdownListener (0) | 2010.04.18 |