2011-02-26 4 views
1

커먼 로깅을 사용하려고하며 java.util.logging을 기본 메커니즘으로 사용하려고합니다.java.util.logging을 사용하기위한 로깅

LogTest.java

import org.apache.commons.logging.*; 

public class LogTest { 

     public static void main(String args[]) { 
      System.setProperty("java.util.logging.config.file","log.properties"); 
      Log logger = LogFactory.getLog(LogTest.class); 
      logger.trace("trace msg"); 
     } 
} 

내가 SRC/메인/자원/log.properties (내가 받는다는 프로젝트를 사용하고 있습니다)

handlers=java.util.logging.ConsoleHandler 

# Default global logging level. 
# Loggers and Handlers may override this level 
.level=ALL 

내가 출력을 볼 수 아니다 있습니다. 프로그래밍 방식으로 log.properties를 설정하여 Java 로깅을 활용하는 방법을 알려주십시오.

답변

0
# Loggers and Handlers may override this level 

log.properties에 java.util.logging.ConsoleHandler.level=ALL을 추가하십시오.

+0

죄송합니다. 이것은 작동하지 않았다. 그리고 내 src/main/resources/commons-logging.properties의 내용 : org.apache.commons.logging.Log = org.apache.commons.logging.impl.Jdk14Logger –

3

Log 인터페이스를 구현하는 로거를 지정해야합니다. 이 경우 Jdk14Logger입니다.

자세한 내용은 How to use 'Apache Commons Logging' with 'Java SE Logging'?을 확인하십시오. 링크에서 제외

: 응용 프로그램의 클래스 경로에

넣어 "commons-logging.properties"파일. org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger 이 속성을 설정하면 Commons-Logging이 Log 구현으로 JDK 로거 (Java SE Logger)을 사용하도록 지시합니다.

클래스 경로에 log-config.properties을 입력하고 적절히 구성하십시오.

향후 impls를 변경하려는 경우 more loggers are available out of the box입니다. 다음

System.setProperty("java.util.logging.config.file","log.properties"); 

:

org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl 
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger 

는 전에 로거의 인스턴스를 java.util.logging.config.file을 설정

+0

블로그 링크를 공유해 주셔서 감사합니다! –

+0

이것은 (간단한 자바 프로젝트) 작동합니다. 하지만 Eclipse/STS에서 Maven 프로젝트를 사용하여 동일한 작업을 시도하는 것은 아닙니다. "src/main/resources"및 "src/main/java"및 프로젝트의 루트 내에 로그 구성 파일 (모든 구성을 commons-logging.properties 자체에 넣음)을 시도했지만 프로젝트를 가져 오지 않았습니다. 이 경우 maven을 사용하는 동안 classpath는 무엇입니까? – user104309

+0

'src/main/resources'가 정확해야합니다. 작동하지 않는 경우 classpath에 포함 된 내용에 대한 가정을 확인해야합니다.jar/war를 열어 파일이 예상 한 위치에 있는지 확인하여 모든 것이 올바르게 패키징되어 있는지 확인할 수도 있습니다. – Snekse

0

은 클래스 경로에 commons-logging.properties를 만들 JDK 로깅은 애플릿입니다. org.apache.commons.logging. *에서 사용하는 모든 로그입니다.

예 : 봄, 동면, 스트럿 등

관련 문제