刚接触Servlet的时候,为了学习方便总是想验证自己的想法,那么输出日志是最常见的手法了,就自己亲身经历总结了如下几种方法,我用的是Web容器是Tomcat。
- 使用Log4J
在《Servlet的监听》一文中我有讲到而且有DEMO,这是“标准”的日志用法了,在生产环境经常使用的。 - 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
信息: 日志日志顶呱呱
........... - 标准输出
可以使用标准输出,如System.out.println("日志日志顶呱呱");
如果你用的是Eclipse的Tomcat插件的话,会在Console看到日志,如果使用的是对立的Tomcat可以在其目录下的/logs/tomcatx-stdout.xxxx-xx-xx.log中找到日志记录。
- 自定义函数
但让你可以写个简单的自定义函数来实现日志输出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适合用于生产环境,配置灵活;第二、三种方便简单,但日志比较混乱;第三种自定义实现,比较随意。