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输出

    如果是独立的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适合用于生产环境,配置灵活;第二、三种方便简单,但日志比较混乱;第三种自定义实现,比较随意。

posted @ 2014-10-10 16:26  码农神说  阅读(741)  评论(0编辑  收藏  举报