Tomcat 로그를 syslog 대신 catalina.out으로 다시 리디렉션하는 방법은 무엇입니까?

Tomcat 로그를 syslog 대신 catalina.out으로 다시 리디렉션하는 방법은 무엇입니까?

릴리스 노트에서 openSUSE 13.1개발자들은 Tomcat로그가 더 이상 에 기록되지 catalina.out않고 에 기록된다는 점을 자랑스럽게 밝혔습니다 syslog. 새 릴리스에서도 비슷한 동작을 보았지만 이제는 이것이 내 문제이기도 합니다. 왜 개선이라고 생각하는지 모르겠습니다. 그렇기 때문에,

  1. 내 Tomcat 설치는 여러 개발자의 놀이터로 사용되며 내 시스템 로그를 그들과 공유하고 싶지 않습니다.
  2. 아래 웹 애플리케이션 에 대한 로그는 Tomcat매우 장황하며(개발 중이기 때문에) 이 모든 쓰레기를 시스템 로그에 넣고 싶지 않습니다.

Tomcat 로그를 syslog로 리디렉션하는 방법에 대한 많은 자습서가 있지만 그 반대로 해야 합니다. 어떤 아이디어가 있나요?

고쳐 쓰다:이건 내 꺼야 tomcat.conf, 의심스러운 건 없어:

JAVA_HOME="/etc/alternatives/jre"

CATALINA_HOME="/usr/share/tomcat" CATALINA_BASE="/usr/share/tomcat" CATALINA_TMPDIR="/var/cache/tomcat/temp"

SECURITY_MANAGER="거짓"

SHUTDOWN_WAIT = "30"

SHUTDOWN_VERBOSE="거짓"

CLEAR_WORK="거짓"

CATALINA_OPTS="-Xms2G -Xmx8G -XX:PermSize=256m -XX:MaxPermSize=4G"

답변1

Tomcatsystemd에 따라 openSUSE 저장소에서 설치됩니다 .이 페이지, 시스템 제어 서비스의 출력을 이 파일로 직접 리디렉션하는 것은 불가능합니다. 그래서 나에게는 유일한 옵션이 남았습니다. syslog메시지가 도착하면 필터링하는 것입니다.

파일을 만들고 /etc/rsyslog.d/tomcat.conf거기에 다음 줄을 넣었습니다.

:"tomcat"을 포함한 프로그램 이름 /var/log/tomcat/tomcat.log

:"tomcat"을 포함한 프로그램 이름~

이것은 나에게 잘 작동합니다.

2018 업데이트:오늘날 모든 개발자는 시스템 전체에 설치하기보다는 자신의 Tomcat 인스턴스를 폴더에 압축 해제하는 것을 선호합니다. 또는 예를 들어 Spring Boot에서 수행할 수 있는 것처럼 프로그램에 포함될 수도 있습니다.

관련 정보