Servlet+Tomcat日志输出
刚接触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适合用于生产环境,配置灵活;第二、三种方便简单,但日志比较混乱;第三种自定义实现,比较随意。
Servlet+Tomcat日志输出的更多相关文章
- docker中tomcat日志输出自定义
一,默认tomcat日志配置文件 /data/tomcat/conf/logging.properties 1,修改tomcat/conf下的logging.properties [root@harb ...
- Tomcat日志输出在linux和windows差异
tomca日志保存在${catalina}/logs目录下: 主要包括五类文件,开发测试常使用的日志主要保存在catalina.localhost日志中,且每天生成独立日志文件,结尾以日期命名,方便查 ...
- Windows Tomcat 日志输出到 catlina.out 按日期输出,自启动
配置tomcat和jdk环境变量 CATALINA_BASE D:\ApacheSoftwareFoundation\Tomcat8.5 CATALINA_HOME D:\ApacheSoftware ...
- tomcat 日志输出
1.找到tomcat安装目录:cd tomcat/logs 2.tail -f catalina.out 3.ctrl+c 退出
- windows系统tomcat日志输出至catalina.out配置说明
转自:https://blog.csdn.net/liubowin/article/details/48001947 1.修改bin/startup.bat文件 修改前:call "%EXE ...
- Tomcat日志文件的输出在Linux和Windows下的差异
前言 最近老大发现Tomcat的日志文件catalina.out里存在着大量的和公司项目相关的log信息,因为一般都是会使用日志框架并另外将log信息输出到另外的文件里的,catalina.out文件 ...
- tomcat 和 jboss access log 日志输出详解
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt179 工作中nginx+jboss/tomcat反向代理集成,想打开后端jb ...
- Tomcat关闭日志输出
tomcat中禁用catalina.out的输出,又可能很大. 1.直接修改catalina.sh文件的输出语句. 在文件中找到以下内容. if [ -z "$CATALINA_OUT&qu ...
- docker tomcat 已主机名为日志输出路径
目的:所有的日志输出到共享存储目录中 方法:将 tomcat 的日志放置到 /data/logs/主机名/ 下, 1. 修改tomcat/conf下的logging.properties [root ...
随机推荐
- 2.4. 属性(Core Data 应用程序实践指南)
属性的名称必须以小写字母开头. 添加 name 和 quantity 属性.
- C#中IDisposable
在Net中,由GC垃圾回收线程掌握对象资源的释放,程序员无法掌控析构函数的调用时机.对于一些非托管资源,比如数据库链接对象等,需要实现IDisposable接口进行手动的垃圾回收.那么什么时候使用Id ...
- 初识JSON
▓▓▓▓▓▓ 大致介绍 JSON(JavaScript Object Notation JavaScript对象表示法),JSON是一种数据格式,不是一种编程语言.虽然它的名字中有JavaScrip ...
- ASP.NET下使用xml反序列化、缓存实现个性化配置文件的实时生效
因为一些配置属性比较多,存在多组属性,因此结合xml解析.缓存技术,实现配置文化的自动解析.存入缓存.缓存依赖实时更新配置内容. 配置文件反序列化存入缓存的核心方法: public Class.Set ...
- 【G】开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的
分析目前项目结构 眼前出现这么一坨坨的文件夹,相信很多人已经看不下去了.是的,首先就是要把它给做掉. 按照这个项目文件夹的命名意图,大概可以划分如下: 1.Business:业务代码 2.Data:数 ...
- 抽象类 abstract 和 接口 interface 类的区别
在看一些框架的优秀改良时,都会设计一层base层,并且 base里面一般都是 abstract 类,然后 就找了为什么做的原因.发现: PHP5支持抽象类和抽象方法.抽象类不能直接被实例化,你必须先继 ...
- 一起学 Java(四) File、Try 、序列化、MySQL、Socket
一.Java 流(Stream).文件(File)和IO Java.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io 包中的流支持很多种格式,比如:基 ...
- linux c语言定时器
原文来自于:http://hi.baidu.com/opetrhsxszbckzd/item/126966cae5f9524aa9ba94f5 我只是把其重新排版标注一下. linux c语言定时器 ...
- 微软Visual Studio二十周年:VS2017于3月7日发布
二十年前的今天,微软正式发布Visual Studio 97.如今二十年已经过去,微软宣布全新的Visual Studio 2017即将在美国当地时间3月7日正式发布. VS97是Visual Stu ...
- Fragment 学习笔记(1)
网上关于Fragment相关的博客资料很多,写关于这个知识笔记是加深记忆,大神略过: 0x01 了解Fragment 当然看官方文档(http://www.android-doc.com/refere ...