一尘不染

Tomcat Servlet日志记录

tomcat

我是Servlet容器的新手,并已使用Tomcat 6.0.26创建了一个Web应用程序。我的代码中散布着“ TODO:日志”。我看到存在:

myServlet.getServletContext()。log()

它似乎写入了Tomcat’/
logs’目录中以’localhost’为前缀的文件。我不需要任何高级日志记录功能,但我希望至少有一个日期,时间,消息和堆栈跟踪。此外,我还创建了一些由各种servlet使用的类,这些类也需要日志记录功能。我是否需要将SevletContext注入这些类中以便它们可以登录?

看来Apache的log4j是一个流行的日志记录程序包,但是我不确定是否值得进行设置。

满足我的需求的推荐日志记录方式是什么?


阅读 324

收藏
2020-06-16

共1个答案

一尘不染

除了上述BalusC提到的所有内容之外,在您的Java代码(servlets / beans / whatever)中,只需导入并初始化Logger

package my.app;

import org.apache.log4j.Logger;

private static Logger logger = Logger.getLogger("classname");
// use any string you want

然后,您可以在任何日志记录点记录各种级别,例如

if (logger.isDebugEnabled()) {
            logger.debug("Some log at this point");
        }

...

logger.info("Some info message here");

这些内容将显示在日志中,具体取决于您是否在log4j中设置了DEBUG或INFO。

看一下http://www.java2s.com/Code/Java/Language-
Basics/Examplelog4jConfigurationFile.htm上的示例以及同一文章中的所有相关示例。

2020-06-16