问题
tomcat每次启动时,自动在logs目录下生产以下日志文件,且每天都会生成对应日期的一个文件,造成日志文件众多:
localhost.2012-07-05.txt
catalina.2012-07-05.txt
manager.2012-07-05.txt
host-manager.2012-07-05.txt
目的
Tomcat以上日志都输出到同一个文件中。
修改步骤
打开Tomcat目录conf\logging.properties,修改如下,所有日志输出到tomcat开头的文件中
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
# 1catalina.org.apache.juli.FileHandler.prefix = catalina.
1catalina.org.apache.juli.FileHandler.prefix = tomcat.
2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
# 2localhost.org.apache.juli.FileHandler.prefix = localhost.
2localhost.org.apache.juli.FileHandler.prefix = tomcat.
3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
# 3manager.org.apache.juli.FileHandler.prefix = manager.
3manager.org.apache.juli.FileHandler.prefix = tomcat.
4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
# 4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
4host-manager.org.apache.juli.FileHandler.prefix = tomcat.
Tomcat日志总结
1 Tomcat 日志信息分为两类 :
一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息 。
二是访问日志信息,它记录的访问的时间,IP ,访问的资料等相关信息。
2 访问日志的配置
2.1 默认 tomcat 不记录访问日志,如下方法可以使 tomcat 记录访问日志
编辑 ${catalina}/conf/server.xml 文件. 注 :${catalina} 是 tomcat 的安装目录
把以下的注释 (<!-- -->) 去掉即可。
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
2.2 配置tomcat 写出更详细的日志
通过对 2.1 示例中 pattern 项的修改,可以改变日志输出的内容。
该项值可以为: common 与 combined ,这两个预先设置好的格式对应的日志输出内容如下:
common 的值: %h %l %u %t %r %s %b
combined 的值: %h %l %u %t %r %s %b %{Referer}i %{User-Agent}i
pattern 也可以根据需要自由组合, 例如 pattern="%h %l"
对于各fields字段的含义请参照 :
http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html 中的 Access Log Valve 项
3 修改Tomcat运行日志的等级
3.1 日志类型与级别
Tomcat 日志分为下面5类:
catalina 、 localhost 、 manager 、 admin 、 host-manager
每类日志的级别分为如下 7 种:
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
3.2 日志级别的设定方法
修改 conf/logging.properties 中的内容,设定某类日志的级别
示例:
设置 catalina 日志的级别为: FINE
1catalina.org.apache.juli.FileHandler.level = FINE
禁用 catalina 日志的输出:
1catalina.org.apache.juli.FileHandler.level = OFF
输出 catalina 所有的日志消息均输出:
1catalina.org.apache.juli.FileHandler.level = ALL
参考文献
tomcat日志设置 Tomcat日志分类和等级; 使用log4j记录应用程序日志或系统日志; log4j的配置参数
在项目访问量不断增加时,tomcat下logs也迅速增大,有时甚至因为填满了所在分区而出现无空间写入日志而导致程序出问题。
这时要更改logs的默认目录,指向更大的磁盘。修改主要有两步:
1. 修改tomcat/conf下的logging.properties
Java代码
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = /diska/tomcatlog/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = /diska/tomcatlog/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.
3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = /diska/tomcatlog/logs
3manager.org.apache.juli.FileHandler.prefix = manager.
4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = /diska/tomcatlog/logs
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
############################################################
把其中各个directory路径更改为要存储对应日志的路径,一般都是设置为同一个地方。
2. 修改tomcat/bin/catalina.sh
Java代码
if [ -z "$CATALINA_OUT" ] ; then
179 CATALINA_OUT=/diska/tomcatlog/logs/catalina.out
把CATALINA_OUT修改为与logging.properties修改一样的路径,便于日志集中管理。
重启tomcat就能看到diska/tomcatlog/logs/下开始产生新日志了。
分享到:
相关推荐
tomcat日志详解,有了这一个文档,再也不用担心tomcat日志不会看了
tomcat生成日志文件过大,而且还没有日期,这个文档把日志按日期分类,便于管理删除等。。
linux 环境中 脚本 定时清理tomcat日志文件
配置Tomcat日志级别及日志查看。1:tomcat中的日志开关文件介绍; 2、Tomcat 日志信息; 3、修改 Tomcat 运行日志的等级;4、使用 log4j 记录应用程序日志或系统日志;
win7自动清除tomcat缓存及日志
tomcat 日志设置方案,个人写下来了,希望对同仁有所帮助
自己写的tomcat日志分割脚本,自动分割日志,自动删除过期日志,也可以用于其他容器日志分割,稍加修改即可
tomcat日志切分方案,离线包
tomcat日志配置所有的包,全部官网下载。
用java swing写的一个简单的日志分析工具,读取的是tomcat默认的日志格式,用的是jdk1.7编译的。...如果日志文件比较大,可以用命令设置内存启动(如:java -Xms512m -Xmx2048m -jar tomcat日志分析器.jar)
开发过程win系统下tomcat运行日志按日期切割,win系统下tail命令小工具 备用
tomcat日志输出文件的配置,tomcat一些日常配置
Tomcat的详细错误日志不见了,只报一个万恶的Context [] startup failed due to previous errors,却找不到previous errors具体是啥东西
Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli...
iis日志分析和tomcat日志分析(python语言),并显示出攻击方式、攻击ip以及ip归属地
tomcat日志分割方法,是用了log4j
以下脚本主要备份的日志文件为tomcat的catalina.out、localhost_access_log.yyyy-mm-dd.log日志和项目的日志文件,其中项目的日志文件格式为”projectname-yyyy-mm-dd.log”,以下为备份脚本,具体的操作都有相应的...
之前分享过博客大数据离线web网站日志分析,好多大数据学习爱好者,想要拿到测试数据,可以来这里下载咯,每次发邮件挺麻烦滴~ 原博客地址:https://blog.csdn.net/MrZhangBaby/article/details/87360470 如果你...
tomcat日志分隔配置手册
针对linux环境上tomcat不断输出到catalina.out文件的问题,提供一个按天分割catalina.out的脚本,以及操作说明。绝对可用!