2012-03-03 6 views
8

Tomcat을 설치했으며 SLF4J를 로깅 프레임 워크로 사용했습니다. 나는 slf4j-api-1.6.4.jarslf4j-jdk14-1.6.4.jar을 Tomcat 라이브러리에 복사했습니다. 즉 $TOMCAT_HOME/lib입니다.Tomcat의 SL4JF가 로그 파일에 나타나지 않습니다.

SLF4J를 사용하는 경우 java.util.Logger으로 위임해야하며 기본 Tomcat 로깅 프레임 워크로 위임합니다. 그러나 배포하고 응용 프로그램을 검사 할 때 아무 것도 기록되지 않습니다. 내 모든 예외/로그 정보가 손실됩니다.

내 이해가 맞습니까, 아니면 클래스 경로에 보관할 것이 없습니까?

+0

구성이 정확하다고 생각되면 JUL 구성 파일 (logging.properties)을 추가하십시오. – foch

+0

Tomcat JULI를 순수 SLF4J + Logback으로 대체하는 프로젝트의 https://github.com/grgrzybek/tomcat-slf4j-logback을 볼 수 있습니다. 개별 WAR 로깅 구성과 충돌하지 않습니다. –

+0

foch, 기본 로깅을 사용합니다. 서버 설치와 함께 제공되는 등록 정보 Grzegorz Grzybek, 링크 해줘서 고마워. 그러나 나는 왜 그것이 defalt에 의해 작동하지 않는지에 관해 알고 싶다. 이것은 우리가 바람둥이를 사용한다면 SL4J가 유용하지 않다는 것을 의미합니까? –

답변

2

$ TOMCAT/lib에서 slf4j-api-1.6.4.jar 및 slf4j-jdk14-1.6.4.jar를 복사하는 대신 war 응용 프로그램과 함께이 jar를 제공했습니다. 이 경우 내 예외가 기록됩니다.

+0

전쟁 응용 프로그램과 함께이 항아리를 제공 할 때 어떤 구성 파일이 선택 되었습니까? 이것은 처음에 물어 본 것과 완전히 다릅니다. –

+1

@ 수리아 (Suurya), 많은 질문과 답변에 감사드립니다. 최근에 TomEE 1.5.1 (tomcat 7.0.32 이상)을 사용하기 시작했으며 TomEE를 Windows 서비스 (tomcat7 Windows 서비스를 통해)로 실행하는 동안 예외를 얻고 catalina 로그 파일에 로그 아웃하려고했습니다. 몇 시간 동안이 주제를 검색했는데이 대답이 마침내 도움이되었습니다. 정말 고맙습니다! – Howard

1

아마 당신이 필요한 것은 CATALINA_OPTS에 시스템 속성을 추가하는 것입니다.

set CATALINA_OPTS=-Djava.util.logging.config.file=\PATH\TO\YOUR\logging.properties 

을 또는 Linux/UNIX 시스템에서,을 $ CATALINA_HOME/빈/catalina.sh 파일에 추가 :

Windows 시스템의

, 당신 %의 CATALINA_HOME \ bin에 \의 catalina.bat 파일에 추가

CATALINA_OPTS=-Djava.util.logging.config.file=/PATH/TO/YOUR/logging.properties 

Linux/UNIX 시스템에서 CATALINA_OPTS에 둘 이상의 매개 변수가있는 경우 견적을 제출해야합니다. 예 :

CATALINA_OPTS="-Xmx256m -Djava.util.logging.config.file=/PATH/TO/YOUR/logging.properties" 

이 줄은 Tomcat이 시작될 때 logging.properties 파일이로드되는지 확인하기위한 것입니다.

+0

내 응용 프로그램에서 예외가 발생할 때 로그 파일이 채워지는 것을 볼 수 있습니다. 하지만 내가 명시 적으로 실패하려고 로그 할 때. 또한 catalina.sh를 검사했을 때 logging.properties가 올바른 속성 파일로 설정되어있는 것을 볼 수 있습니다 –

1

in its docs과 같이 log4j를 사용하도록 Tomcat을 구성하고 log4j.properties를 $ CATALINA_HOME/lib 디렉토리에두고 slf4j-log4j12 bridge와 함께 slf4j-api를 사용할 수 있습니다. 그래서 당신은 DailyRollingFileAppender 등의 깨끗한 slf4j API와 log4j 장점을 가지고 있습니다.

+0

질문은 "java.util.Logger"에 대한 것입니다 - tomcat에 대한 기본 로깅이지 log4j에 대한 로깅이 아닙니다. – dermoritz

관련 문제