Servlet+Tomcat日志输出

刚接触Servlet的时候,为了学习方便总是想验证自己的想法,那么输出日志是最常见的手法了,就自己亲身经历总结了如下几种方法,我用的是Web容器是Tomcat。

  1. 使用Log4J
    在《Servlet的监听》一文中我有讲到而且有DEMO,这是“标准”的日志用法了,在生产环境经常使用的。
  2. ServletContext写日志
    Servlet提供了自己的日志系统,当然它是由Web容器来实现的,接口如下:
    void javax.servlet.ServletContext.log(String arg0)

    例如我在doGet()方法中加入日志

    getServletContext().log("日志日志顶呱呱");

    如果你用的是Eclipse的Tomcat插件的话,会在Console输出
    Servlet+Tomcat日志输出
    如果是独立的Tomcat,可以在Tomcat的目下找到类似/logs/localhost.xxxx-xx-xx.log的日志文件,其中有日志记录:

    .......
    十月 10, 2014 4:20:56 下午 org.apache.catalina.core.ApplicationContext log
    信息: 日志日志顶呱呱
    ...........

  3. 标准输出
    可以使用标准输出,如
    System.out.println("日志日志顶呱呱");

    如果你用的是Eclipse的Tomcat插件的话,会在Console看到日志,如果使用的是对立的Tomcat可以在其目录下的/logs/tomcatx-stdout.xxxx-xx-xx.log中找到日志记录。

  4. 自定义函数
    但让你可以写个简单的自定义函数来实现日志输出
    private void print(String message) {
    PrintWriter out = null;
    try {
    out = new PrintWriter(new FileOutputStream("d:\\log.txt", true));
    out.println(message);
    out.close();
    } catch (FileNotFoundException e){
    e.printStackTrace();
    }
    }

第一种使用log4j适合用于生产环境,配置灵活;第二、三种方便简单,但日志比较混乱;第三种自定义实现,比较随意。

上一篇:Mysql UTF-8mb4字符集的问题


下一篇:Java. Warning – Build path specifies execution environment J2SE-1.5