如何在我的servlet的$ TOMCAT_HOME / logs中创建命名日志?

时间:2008-10-14 15:42:50

标签: java tomcat logging servlets

我正在使用Tomcat通过servlet中最简单的方法进行日志记录。我使用ServletConfig.getServletContext()。log来记录活动。这将写入$ TOMCAT_HOME / logs中的localhost.YYYY-MM-DD.log。

除非绝对必要,否则我不想放弃这种日志记录机制的简单性。但我想命名我的日志文件。而不是“localhost”.YYYY-MM-DD.log,有没有办法让它写入“myAppName”.YYYY-MM-DD.log。我知道我可以创建自己的机制,但同样,我在这里寻求简单。

我希望远离像Log4j这样的完整框架。

2 个答案:

答案 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()消息。