2009-08-07 2 views
0

내 웹 응용 프로그램에서 시작할 때로드되는 서블릿에 PropertyConfigurator.configure(filepath) 함수를 사용하여 웹 응용 프로그램에서 로깅을 초기화하고 있습니다.로그 파일 대신 유닉스에서 catalina.out에 로깅

String log4jfile = getInitParameter("log4j-init-file"); 
if (log4jfile != null) { 
    String propfile = getServletContext().getRealPath(log4jfile); 
    PropertyConfigurator.configure(propfile); 

내가 WEB_INF/클래스 디렉토리에 내 log4j.properties 파일을 배치하고

로 파일을 지정하고
log4j.appender.rollingFile.File=${catalina.home}/logs/myapp.log 

내 루트 로거가 초기에는 더로 구성되었다

log4j.rootLogger=DEBUG, rollingFile,console 

(콘솔 속성도 catalina.out에 문장을 기록합니다)

Windows에서 로깅은 로그 파일에 나타나는 문과 함께 정상적으로 발생하는 것으로 보입니다.

유닉스에서 내 로깅 문은 실제 로그 파일 (초기화 서블릿의 로그 만 포함) 대신 catalina.out으로 리디렉션됩니다. 모든 후속 로그가 catalina.out에 나타납니다.

이렇게하면 log4j가 제대로 설정되지 않았지만 원인을 파악할 수 없다고 생각합니다. 아무도 내가 문제의 원인을 파악할 수 없습니까?

덕분에 사전에 그것은 당신이 사용중인 서버에 따라 달라집니다

답변

1

권한 문제 일 수 있습니다. $ {catalina.home}/logs 디렉토리의 소유자와 권한을 확인하십시오.

0

떨어졌다. Tomcat입니까? Windows와 Linux에서 동일한 버전입니까?

+0

Tomcat 버전의 차이점을 설명 할 수 있습니까? –

0

컴퓨터에 CATALINA_HOME 환경 변수가 설정되어 있는지 확인하십시오. 'echo $ CATALINA_HOME'을 입력하여 linux에서 확인할 수 있습니다.

관련 문제