用log4j管理tomcat的catalina日志

下载以下jar包

log4j-1.2.17.jar (http://www.apache.org/dist/logging/log4j/1.2.17/ )

tomcat-juli.jar (http://www.apache.org/dist/tomcat) 找到对应版本下载

tomcat-juli-adapters.jar (http://www.apache.org/dist/tomcat) 同上

1、将以上三个jar都放入tomcat/lib目录下。

2、将tomcat-juli.jar 替换tomcat/bin目录下的对应jar包(建议将原来的jar重命名)

3、将tomcat/conf/contxt.xml文件中<context>标签修改为:<Context swallowOutput="true">(swallowOutput="true" 的属性配置,主要用于将tomcat的stdout给接管过来)

4、重命名或者删除tomcat/conf/logging.properties 文件

5、在tomcat/lib目录下新建 log4j.properties 文件并添加以下内容

log4j.rootLogger=INFO, CATALINA   
  
#由于DailyRollingFileAppender不支持MaxFileSize、MaxBackupIndex所以选用RollingFileAppender  
log4j.appender.CATALINA=org.apache.log4j.RollingFileAppender   
log4j.appender.CATALINA.Threshold=DEBUG  
log4j.appender.CATALINA.File=${catalina.base}/logs/catalina.out  
log4j.appender.CATALINA.layout=org.apache.log4j.PatternLayout  
log4j.appender.CATALINA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n  
log4j.appender.CATALINA.MaxFileSize=20MB  
log4j.appender.CATALINA.MaxBackupIndex=10  
  
log4j.appender.LOCALHOST=org.apache.log4j.DailyRollingFileAppender  
log4j.appender.LOCALHOST.File=${catalina.base}/logs/localhost.log  
log4j.appender.LOCALHOST.Append=true  
log4j.appender.LOCALHOST.Encoding=UTF-8  
log4j.appender.LOCALHOST.DatePattern=‘.‘yyyy-MM-dd‘.log‘  
log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout  
log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n  
  
log4j.appender.MANAGER=org.apache.log4j.DailyRollingFileAppender  
log4j.appender.MANAGER.File=${catalina.base}/logs/manager.log  
log4j.appender.MANAGER.Append=true  
log4j.appender.MANAGER.Encoding=UTF-8  
log4j.appender.MANAGER.DatePattern=‘.‘yyyy-MM-dd‘.log‘  
log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout  
log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n  
  
log4j.appender.HOST-MANAGER=org.apache.log4j.DailyRollingFileAppender  
log4j.appender.HOST-MANAGER.File=${catalina.base}/logs/host-manager.log  
log4j.appender.HOST-MANAGER.Append=true  
log4j.appender.HOST-MANAGER.Encoding=UTF-8  
log4j.appender.HOST-MANAGER.DatePattern=‘.‘yyyy-MM-dd‘.log‘  
log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout  
log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n  
  
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender  
log4j.appender.CONSOLE.Encoding=UTF-8  
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout  
log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n  
  
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOST  
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]=\INFO, MANAGER  
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]=\INFO, HOST-MANAGER
时间: 2024-10-17 23:58:28

用log4j管理tomcat的catalina日志的相关文章

使用logrotate分割Tomcat的catalina日志

切割catalian日志的方式有很多种,比如shell脚本的.cronolog或者通过配置log4j等等这些都可以实现.但今天我要介绍是使用logrotate来按日期生成日志. 原文是一个外国博主的文章,在这里分享给大家. 如果catalina.out的大小超过了2G,那么tomcat可能在没有错误提示的情况下崩溃.无法启动.所以为了避免出现这个问题,我们应该每天分割catalina.out. 如何每天自动的分割catalina.out或者大小达到5M时切割catalina.out 1.新建一个

tomcat的catalina.out日志文件过大

今天发现一个服务器的/opt目录数据过大,最后发现是tomcat中的catalina.out日志过大引起的 用du命令查看opt下一层的数据文件大小 [[email protected] opt]# du -h --max-depth=1 /opt 最终发现在tomcat里catalina.out的文件很大 [[email protected] logs]# ll -h /opt/liferay6.2ce/tomcat-7.0.42/logs/catalina.out -rw-r--r-- 1

将tomcat内部默认日志方式改为Log4j未成功的记录

官方下载地址:https://tomcat.apache.org/download-70.cgi 下载的是zip版本:apache-tomcat-7.0.69.zip 按官方文档来操作: https://tomcat.apache.org/tomcat-7.0-doc/logging.html 新建文件叫log4j.properties,内容见文未(复制的官网上的)放入$CATALINA_BASE/lib下. 下载log4j,需要v1.2.x,下载地址:https://logging.apach

Tomcat 的 catalina.out 日志分割

一.背景 Tomcat 的 catalina.out 日志量不断增加,占用空间较大,且默认是不滚动的.因此,需要对其进行日志分割,并进行清理. 本文选用 Cronolog 对其进行分割. 二.安装 1.下载 地址:http://cronolog.org/download/cronolog-1.6.2.tar.gz 2.安装 # tar zxvf cronolog-1.6.2.tar.gz # cd cronolog-1.6.2 # ./configure # make # make instal

通过web的方式动态访问Tomcat的catalina.out日志

1:安装web.py 参考:http://webpy.org/install.zh-cn 下载web.py # wget http://webpy.org/static/web.py-0.33.tar.gz 安装web.py # tar zxvf web.py-0.33.tar.gz # cd web.py-0.33 使所有的web程序可以访问 # python setup.py install OK,安装完毕,关于web.py请参考http://webpy.org/install.zh-cn

Tomcat输出catalina.out的大小控制

资源URL:http://download.csdn.net/detail/attagain/7771065 Tomcat默认生成的日志文件catalina.out,随着时间的推移,逐渐增大,可能达到G数量级.文件过大,我们将无法使用过常规编辑工具查看,严重影响系统维护工作.解决此问题,主要从Tomcat和代码两方面考虑. 一. 代码本身考虑 Tomcat输出catalina.out文件,数据主要来源为:System.out 和 System.err 在控制台上直接输出的信息.为了减少日志输出的

【Log4J 系列】:log4j 整合SpringMVC+MyBatis 实现日志记录(01)

一.准备工作 1.工程目录 2.所需jar包 <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> 二.配置log4j 1.修改log4j DailyRollingFileAppender.java 这个类太大就不复制了,直接看关键性代码 由于log

阿里云X-Forwarded-For 发现tomcat记录的日志全部来自于SLB转发的IP地址,不能获取到请求的真实IP。

1.背景:阿里云的SLB的负载均衡,在tomcat中获取不到真实IP,而是阿里的内网IP,SLB中俩台或者3台本身是局域网,这里是SLB原理,可以看看,没怎么看懂,呵呵,要细细读下. 2.需要开启tomcat的X-Forwarded-For,在tomcat/conf/server.xml中有一个如下的AccessLogValve 日志纪录功能,当配置中的pattern=common时,对应的日志是如下,无论正常请求和非法请求都会记录. <Valve className="org.apach

tomcat生成调试日志配置

创建文件logging.properties 文件存放于应用WEB-INF/classes下 文件内容如下: 1 handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler 2   3 ############################################################ 4 # Handler specific properties. 5 # Describes specif