tomcat 日志(2)
一、Log4j在Tomcat中的配置说明(tomcat6)
学习Java中,从简单的开始.如果需要文中提到的文件可以找我要.
http://www.apache.org/dist/tomcat/tomcat-6/v6.0.29/bin/extras/tomcat-juli-adapters.jar
http://www.apache.org/dist/tomcat/tomcat-6/v6.0.29/bin/extras/tomcat-juli.jar
其中v6.0.29为tomcat的版本号,请根据具体版本进行修改后下载,以保证最后正常效果。
接下去再保证已经有log4j的情况下。
按照如下目录结构来放置:
######################################################################
tomcat6-------lib
| |--------tomcat-juli-adapters.jar
| |--------log4j.jar
| |--------log4j.properties
|
|----bin
|--------tomcat-juli.jar
|---------webapps
|-----xxx\WEB-INF
|---classes
|----log4j.properties
######################################################################
最后把log4j.properties里的配置写好就可以了。
如:
######################################################################
# 设定logger的root level为INFO,指定的输出目的地(appender)为file,并在控制台输出stdout(Console)
log4j.rootLogger=INFO, file , stdout
# 设定stdout控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{HH:mm:ss}] %5p %c{2} \"%m\"%n
# 设定输出位置,此处设定tomcat目录的logs下,文件名为projectLogs.log。
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=${catalina.home}/logs/projectLogs.log
log4j.appender.file.MaxFileSize=1024KB
# 设定制定的file使用的PatternLayout.
# 有关ConversionPattern中的转意字符的含义参考说明
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{HH:mm:ss} %-5p [%C] (%F:%L) - %m%n
######################################################################
Appender类名
|
作 用
|
org.apache.log4j.ConsoleAppender
|
将日志输出到控制台
|
org.apache.log4j.FileAppender
|
将日志输出到文件
|
org.apache.log4j.DailyRollingFileAppender
|
每天产生一个日志文件
|
org.apache.log4j.RollingFileAppender
|
文件大小到达指定尺寸时产生一个新的文件
|
org.apache.log4j. WriterAppender
|
将日志信息以流格式发送到任意指定的地方
|
Layout类名
|
作 用
|
org.apache.log4j.HTMLLayout
|
以HTML表格形式布局
|
org.apache.log4j.PatternLayout
|
可以灵活地指定布局模式
|
org.apache.log4j.SimpleLayout
|
包含日志信息的级别和信息字符串
|
org.apache.log4j.TTCCLayout
|
包含日志产生的时间、线程、类别等等信息
|
一、 实现分模块,输出到不同的日志文件, 以下是log4j.properties的实现
- log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
- log4j.appender.file.file=src\\log\\all.log
- log4j.appender.file.DatePattern='.'yyyy-MM-dd
- log4j.appender.file.layout=org.apache.log4j.PatternLayout
- log4j.appender.file.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
- log4j.rootLogger=debug,file
- log4j.appender.usermanagerfile=org.apache.log4j.DailyRollingFileAppender
- log4j.appender.usermanagerfile.file=src\\log\\usermanager.log
- log4j.appender.usermanagerfile.DatePattern='.'yyyy-MM-dd
- log4j.appender.usermanagerfile.layout=org.apache.log4j.PatternLayout
- log4j.appender.usermanagerfile.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
- log4j.logger.userManager = info, usermanagerfile
调试方法:
- public static void main(String[] args)throws Exception {
- Log logger = LogFactory.getLog("file");
- Log logger = LogFactory.getLog("usermanager");
- }
二、log4j日志分级别输出到不同文件
配置文件
- #log4j.rootLogger=info,stdoutdebug,error
- log4j.appender.stdout=org.apache.log4j.ConsoleAppender
- log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
- log4j.appender.stdout.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n
- log4j.logger.info=info
- log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
- log4j.appender.info.layout=org.apache.log4j.PatternLayout
- log4j.appender.info.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n
- log4j.appender.info.datePattern='.'yyyy-MM-dd
- log4j.appender.info.Threshold = INFO
- log4j.appender.info.append=true
- log4j.appender.info.File=${catalina.home}/logs/log4j/info.log
- log4j.logger.debug=debug
- log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender
- log4j.appender.debug.layout=org.apache.log4j.PatternLayout
- log4j.appender.debug.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n
- log4j.appender.debug.datePattern='.'yyyy-MM-dd
- log4j.appender.debug.Threshold = DEBUG
- log4j.appender.debug.append=true
- log4j.appender.debug.File=${catalina.home}/logs/log4j/debug.log
- log4j.logger.warn=warn
- log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender
- log4j.appender.warn.layout=org.apache.log4j.PatternLayout
- log4j.appender.warn.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n
- log4j.appender.warn.datePattern='.'yyyy-MM-dd
- log4j.appender.warn.Threshold = DEBUG
- log4j.appender.warn.append=true
- log4j.appender.warn.File=${catalina.home}/logs/log4j/warn.log
- log4j.logger.error=error
- log4j.appender.error=org.apache.log4j.DailyRollingFileAppender
- log4j.appender.error.layout=org.apache.log4j.PatternLayout
- log4j.appender.error.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n
- log4j.appender.error.datePattern='.'yyyy-MM-dd
- log4j.appender.error.Threshold = ERROR
- log4j.appender.error.append=true
- log4j.appender.error.File=$${catalina.home}/logs/log4j/error.log
ConversionPattern设置输出格式的参数说明:
%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,
%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2011年08月30日 15:00:00,921
%r: 输出自应用启动到输出该log信息耗费的毫秒数
%c: 输出日志信息所属的类目,通常就是所在类的全名
%t: 输出产生该日志事件的线程名
%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像Javaservlets这样的多客户多线程的应用中。
%%: 输出一个”%”字符 %F: 输出日志消息产生时所在的文件名称 %L: 输出代码中的行号 %m: 输出代码中指定的消息,产生的日志具体信息
%n: 输出一个回车换行符,Windows平台为”\r\n”,Unix平台为”\n”输出日志信息换行
可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:
1)%20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。
2)%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,”-”号指定左对齐。
3)%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。
4)%20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边交远销出的字符截掉。
三、log4j日志级别介绍
log4j把日志分为ALL、TRACE&(跟踪)、DEBUG(调试)、INFO(信息)、WARNING(警告)、ERROR(错误)、FITAL(致命)、OFF等几个级别,级别依次升高。级别高的Level会屏蔽级别低的信息。
注意:
tomcat 日志(2)的更多相关文章
- CentOS7之按时间段截取指定的Tomcat日志到指定文件的方法
CentOS7之按时间段截取指定的Tomcat日志到指定文件的方法 sed -n '/2016-11-02 15:00:/,/2016-11-02 15:05:/p' catalina.out > ...
- Tomcat 日志清除(含扩展AccessLogValve)
1.tomcat的访问日志AccessLogs定期或者定量删除 a 开启tomcat访问日志 编辑${catalina}/conf/server.xml文件.注:${catalina}是tomcat的 ...
- 自定义日志阅读器——包括了一个load取Tomcat日志的分析器
最近在写往公司产品里添加Tomcat适配器,以支持Tomcat.有一些功能需要摘取到Tomcat的部分日志.没有合适的工具,也不想去网上找了,就自己写了一个. 简单的画了一下设计方案: 下面直接上代码 ...
- linux下重启tomcat,日志查看
版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 一:关闭tomcat 1.使用cd命令以及常用的tab补全命令进入到tomcat bin所在的目录(可以不用到此目录也行,楼主 ...
- logstash配合filebeat监控tomcat日志
环境:logstash版本:5.0.1&&filebeat 5.0.1 ABC为三台服务器.保证彼此tcp能够相互连接. Index服务器A - 接收BC两台服务器的tomcat日志 ...
- Tomcat日志问题
[Tomcat日志设定][tomcat控制台日志][log4j日志] 1 Tomcat 日志概述 Tomcat 日志信息分 为 两 类 : 一是运行中的日志,它主要 记录 运行的一些信息,尤其是一些异 ...
- windows下 定时删除tomcat日志和缓存。可以保留天数
forfiles /p "e:\Program Files\Tomcat 7.0\logs" /s /m *.log /d -5 /c "cmd /c del @path ...
- 更改 Tomcat 日志路径
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- Linux系统下分割tomcat日志
在Linux系统下,tomcat日志catalina.out并不会像window系统下,按日期进行重写备份,因此在Linux系统下会造成日志文件过大的情况,本文介绍采用 cronolog工具进行如在w ...
- logrotate 清理tomcat日志
rsyslog tomcat 服务器: 192.168.32.215 input(type="imfile" File="/usr/local/apache-tomcat ...
随机推荐
- Comparable和Comparator 是什么以及区别
一.Comparable和Comparator Comparable可以认为是一个内比较器,实现了Comparable接口的类,类的实例与实例直接可以比较,依赖compareTo方法的实现,compa ...
- 客户端 SOCKET 编程
建立客户端的 Socket: 客户端应用程序首先也是调用 WSAStartup() 函数来初始化 Winsock 的动态连接库,然后同样 调用 socket() 来建立一个 TCP 或 UDP Soc ...
- (已解决)STM32L151使用串口发送数据第一字节为FE问题!
最近学习到串口发送数据时遇到一个问题:第一个字节总是FE,后面才是对的数据. 最终解决的方法是: 讲GPIO复用的操作放到GPIO配置之前! 体现在代码中就是: //打开GPIO时钟 RCC_AHBP ...
- Figures Inscribed in Curves (曲线上的图形)
Figures Inscribed in Curves\text{Figures Inscribed in Curves}Figures Inscribed in Curves A short tou ...
- Zeebe服务学习5-多实例特性实践
一.背景 在0.21版本之前,Zeebe不支持多实例元素,在2019年10月9号发布的0.21版本中,加入这一特性, 主要是体现在Zeebe Modeler 0.7.0以及之后的版本中. 二.特性介绍 ...
- Pathon中numpy模块
目录 numpy模块 切割矩阵 矩阵元素替换 矩阵的合并 通过函数创建矩阵 fromstring/fromfunctions 矩阵的运算 常用矩阵运函数 矩阵的点乘 矩阵的逆 矩阵的其他操作 nump ...
- python2与3实际中遇到的区别
1.type(1/2) python2是向下取整,0,为int:python3是正常除法,0.5,为float 2.
- jmeter-使用代理服务器录制脚本
使用代理服务器录制脚本 1.测试计划-添加线程组 2.工作台添加HTTP代理服务器(路径:工作台-右键添加-非测试元件-HTTP代理服务器) 3.端口号一般由8888改为其他的 4.打开chrome的 ...
- 以np.concatenate为主题,谈谈numpy数组按维度合并的问题
1.引言 最近在做多模态融合的图像问题,其中最需要解决的就是不同模态的图像用什么方法进行融合,最简单也最直观的方法就是采用合并数组的方法,将不同模态的图像合并为多通道进行处理.在一些论文中,比如< ...
- Intellij IDEA 常用的插件 建议全装
介绍几个常用的插件 Alibaba Java Coding Guidelines https://plugins.jetbrains.com/plugin/10046-alibaba-java-cod ...