내 서플렛에 대한 Tomcat_home/Logs의 이름이 지정된 로그를 어떻게 작성합니까?
문제
나는 현재 Tomcat을 사용하여 서틀 내에서 가장 간단한 방법을 통해 로그인하고 있습니다. ServletConfig.getServletContext ()를 사용하여 활동을 기록하려면 로그를 사용합니다. 이것은 $ tomcat_home/logs의 localhost.yyy-mm-dd.log에 씁니다.
절대적으로 필요한 경우이 로깅 메커니즘의 단순성에서 벗어나고 싶지 않습니다. 하지만 로그 파일의 이름을 지정하고 싶습니다. "localhost".yyyy-mm-dd.log 대신 "myappname".yyyy-mm-dd.log에 쓸 수있는 방법이 있습니까? 나는 내 자신의 메커니즘을 만들 수 있다는 것을 알고 있지만 다시, 여기서 단순성을 찾고 있습니다.
Log4J와 같은 완전한 프레임 워크에서 멀리 떨어져 있기를 바랍니다.
해결책
Tomcat 6.x의 경우 conf/logging.properties에서 로깅 구성을 변경할 수 있습니다.
그러나 나는 log4J와 별도의 구성을 선호합니다 ...
다른 팁
그래서 내 서블릿 코드를 건드리지 않고 $ tomcat_home/conf/logging.properties를 통한 방법이 있습니다 ...
전에...
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, 5host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
후에...
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, 5host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler, 6localhost.org.apache.juli.FileHandler
그럼 추가 ...
6localhost.org.apache.juli.FileHandler.level = FINE
6localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
6localhost.org.apache.juli.FileHandler.prefix = myAppName.
그리고 추가 ...
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/myAppName].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/myAppName].handlers = 6localhost.org.apache.juli.FileHandler
그리고 Bounce Tomcat. 이것은 단순한 servletconfig.getservletcontext (). log () 메시지만으로 $ tomcat_home/logs/myappname.2008-10-14.log를 만들었습니다.