我正在使用Tomcat通过servlet中最简单的方法进行日志记录。我使用ServletConfig.getServletContext()。log来记录活动。这将写入$ TOMCAT_HOME / logs中的localhost.YYYY-MM-DD.log。
除非绝对必要,否则我不想放弃这种日志记录机制的简单性。但我想命名我的日志文件。而不是“localhost”.YYYY-MM-DD.log,有没有办法让它写入“myAppName”.YYYY-MM-DD.log。我知道我可以创建自己的机制,但同样,我在这里寻求简单。
我希望远离像Log4j这样的完整框架。
答案 0 :(得分:0)
对于Tomcat 6.x,您可以更改conf / logging.properties中的日志记录配置。
但我更喜欢使用Log4j单独配置......
答案 1 :(得分:0)
所以有一种方法可以通过$ TOMCAT_HOME / conf / logging.properties而无需触及我的servlet代码......
...前
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
并弹跳tomcat。这创建了$ TOMCAT_HOME / logs / myAppName.2008-10-14.log,仅使用我的简单ServletConfig.getServletContext()。log()消息。