톰캣 5.5 버전에서 로그를 SYSLOG로 보내는 방법 문의
글쓴이: ziosnim / 작성시간: 금, 2011/05/20 - 5:42오후
안녕하세요.
톰캣 로그를 SYSLOG로 보내는 방법을 알고 싶습니다.
기본적으로 톰캣 로그는 /var/log/tomcat5/catalina.out에 쌓이고 있습니다. 이 곳에 쌓이는 로그를 SYSLOG로 보내고자 합니다.
제 짧은 생각으로는 /etc/init.d/tomcat5 파일에서 수정하렴 될 듯한데 어떻게 수정을 해야할 깜깜합니다..ㅠㅠ;
# Define the tomcat log file
TOMCAT_LOG="${TOMCAT_LOG:-/var/log/tomcat5/catalina.out}"
이 부분에서 말이죠..
이부분이 아니라면 다른 방법 좀 부탁 드립니다.^^
Forums:
톰캣 기본 문서를 보세요.
http://tomcat.apache.org/tomcat-5.5-doc/logging.html#log4j
이 문서를 보시고 기본 로거를 log4j 로 바꿉니다
그리고 log4j.properties 에서 설정을 넣으면 됩니다.
퍼실러티랑 syslog 호스트만 변경해주면 됩니다.
------------------------------------------------------------------------------------------------
Life is in 다즐링
답변 고맙습니다. 그런데 제가 아래와 같이 설정했는데도 안되네요..ㅠㅠ;
현재 환경: Tomcat 5.5 with CentOS 5.6 Final version (32Bit)
log4j.properties 파일 경로:
/usr/share/tomcat5/common/classes
log4j-1.2.16.jar 와 commons-logging-1.1.1.jar 파일 경로:
/usr/share/tomcat5/common/lib
log4j.properties 파일 내용:
[root@CENTOSTESTER classes]# cat log4j.properties
log4j.rootLogger=WARN, file, SYSLOG
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.append=true
log4j.appender.file.File=/var/log/tomcat5/tomcat.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.maxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{DATE} - [%t] - %C{1}.%M(%L) - %p: %m%n
log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
log4j.appender.SYSLOG.SyslogHost=127.0.0.1
log4j.appender.SYSLOG.Facility=LOCAL0
log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
log4j.appender.SYSLOG.layout.ConversionPattern=%-4r %-5p %c{2} %M.%L %x - %m\n
log4j.appender.SYSLOG.threshold=DEBUG
# Print only messages of level ERROR or above in the package noModule.
log4j.logger.noModule=FATAL
# OpenSymphony Stuff
log4j.logger.net.apache.framework=DEBUG
log4j.logger.net.apache=DEBUG
log4j.logger.org.apache.struts2=ERROR
log4j.logger.org.hibernate.type=ERROR
log4j.logger.org.hibernate.SQL=ERROR
[root@CENTOSTESTER classes]#
/etc/syslog.conf 파일에서 설정한 내용:
# syslog server's ip address
local0.* /var/log/tomcat5/tomcat.log
*.* @192.168.10.13
Tomcat service 와 Syslog 서비스 재실행
위와 같이 하면, 아래의 로그 폴더에 tomcat.log 파일이 생성됩니다.
/var/logs/tomcat5:
그런데 catelina.out 파일에는 로그가 쌓이는데, tomcat.log 파일엔 쌓이지도 않구요 당연히 syslog 로그로도 보내지지 않습니다.
고맙습니다.^^