내 Tomcat 로그는 어디에 있습니까?


26

apt-get install tomcat6을 사용하여 Ubuntu 9.04 서버에 Tomcat6을 설치했습니다. 관리자 인터페이스를 사용하여 WAR을 업로드하고 응용 프로그램을 시작하려고 시도했지만 웹 인터페이스에서 시작할 수 없다는 일반적인 오류가 발생했습니다.

전쟁이 시작되지 않는 이유를 확인하기 위해 로그를 찾으려고 노력하고 있습니다 (작은 VPS에있을 때 메모리 부족으로 의심됩니다).

/ var / lib / tomcat6 / logs가 비어 있습니다. 내 Tomcat 스플래시 페이지는 다음을 안정적으로 알려줍니다.

Tomcat is installed with CATALINA_HOME in /usr/share/tomcat6 
CATALINA_BASE in /var/lib/tomcat6, 
following the rules from /usr/share/doc/tomcat6-common/RUNNING.txt.gz.

최신 정보

나는 달리기를 시도했다.

$ ps -ax 
/usr/bin/jsvc -user tomcat6 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat6/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat6.pid

그러나 / var / log / syslog에는 아무것도 없습니다

달리기

$ losof -p PID

로그 파일을 표시하지 않았습니다 ...

$  for PID in $(pgrep jsvc);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done
l-wx------ 1 root 500 64 2010-03-30 13:29 1 -> pipe:[301470406]
lrwx------ 1 root 500 64 2010-03-30 13:29 1 -> /dev/null
l-wx------ 1 root root 64 2010-03-30 13:29 1 -> pipe:[301470406]

감사,

가브

답변:


5

이 토론에 매우 늦었지만 tomcat5.5 및 tomcat6의 03catalina.policy 파일은 실제로 로그 파일에 쓰기를 허용하지 않는 것으로 보입니다.

가장 간단한 해결책은 JULI 권한을 다음과 같이 변경하는 것입니다.

// These permissions apply to JULI
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
    permission java.security.AllPermission;
};

분명히, 내가 알지 못하는 보안 문제 가있을 수는 있지만, 더 깊이 파고 들지 않을 수는 없습니다.


업데이트 해 주셔서 감사합니다.이 작업을 직접 수행 한 적이 없으며 이제 VPS가 종료되었습니다. 서버를 시작할 때 핸들이 열린 것을 본 적이 없기 때문에 로그가 작성되지 않았다는 것이 의미가 있습니다.
gav

33

깔끔한 방법은 " lsof -p PID" 명령을 실행하는 것입니다. 여기서 PID는 Tomcat 서버의 프로세스 ID입니다. 이 명령은 로그 파일을 포함하여 프로세스가 연 모든 파일 목록을 제공합니다. Wikipedia 페이지를 참조 하십시오 .


멋진 팁입니다! 불행히도 내 프로세스 중 아무도 로그 파일을 보유하고 있지 않습니다. 그게 무슨 뜻인지 잘 모르겠습니다.
gav

2
프로세스가 로그 파일을 열 수 없음을 의미 할 수 있습니다. console / STDOUT에 일부 오류가 기록되어 있어야합니다. Linux를 사용하는 경우 다음을 시도해보십시오for PID in $(pgrep java);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done
Mircea Vutcovici

apt-get을 사용하여 Tomcat을 설치하면 jsvc를 사용하여 데몬으로 실행되도록 구성됩니다. 명령을 (java-> jsvc)로 변경해야했습니다. 이 코드 조각은 내 질문의 맨 아래에 출력을 반환했습니다 (코멘트 형식을 읽을 수 없음).
gav

18

기본적으로 확인

/var/log/tomcat6/catalina.out 

또는 그런 것

로깅 속성을 확인하십시오.

/usr/share/tomcat6/conf/logging.properties

일반적으로 / usr / share / tomcat6 / conf /는 / etc / tomcat6 /에 대한 심볼릭 링크입니다.


/var/log/tomcat6/catalina.out이 없으며 / usr / share / tomcat6 / conf 폴더도 없습니다. /etc/tomcat6/logging.properties는 $ {catalina.base} / logs가 내가 찾고있는 디렉토리이지만 제안한대로 아무것도 작성되지 않았다고 제안합니다. Ho hum :(
gav

4

그들은 ~에 있어야한다 CATALINA_HOME/logs

에서 가장 자주 보았지만 /opt/tomcat/logs귀하의 경우에는/usr/share/logs


1

기본적으로 Tomcat 로그가 /var/log/tomcat?있으며 /var/lib/tomcat7/logs일반적으로 해당 로그를 가리 킵니다.

로 다음을 root통해 확인할 수 있습니다.

tail -f /var/log/tomcat7/*.log /var/log/tomcat7/*.txt /var/log/tomcat7/*.out

여전히 문제가있는 경우 다음을 통해 문제를 찾아보십시오.

sudo lsof | grep -E "java.*(out|txt|log)$"

-1

Windows에서 아래와 같은 로그를 찾을 수 있습니다. C : \ Program Files \ Apache Software Foundation \ Tomcat 9.0 \ logs

C : \ Program Files \ Apache Software Foundation \ Tomcat 9.0 \ conf \ logging-properties도 참조하십시오.


2
게시 된 질문은 Linux (특히 우분투) 설치에 관한 것입니다. 대답은 Windows 기반 설치에 대한 것입니다. 또한이 질문에는 이미 허용 된 답변이 있습니다.
Corey S.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.