Tomcat日志配置
条评论1. Tomcat日志配置
1.1 tomcat 日志配置文件
tomcat 对应日志的配置文件:tomcat目录下的/conf/logging.properties
。
tomcat 的日志等级有:日志输出级别:SEVERE (最高级别) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别)
tomcat 有五类日志 :catalina、localhost、manager、admin、host-manager
/conf/logging.properties
配置文件内容:
1 | handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler |
1.2 tomcat 日志文件详解
1.2.1 catalina.out
catalina.out
即标准输出和标准出错,所有输出到这两个位置的都会进入catalina.out,这里包含tomcat运行自己输出的日志以及应用里向console输出的日志。默认这个日志文件是不会进行自动切割的,我们需要借助其他工具进行切割(注意:catalina.out
文件如果过大会影响)
1.2.2 catalina.YYYY-MM-DD.log
catalina.{yyyy-MM-dd}.log
是tomcat自己运行的一些日志,这些日志还会输出到catalina.out
,但是应用向console输出的日志不会输出到catalina.{yyyy-MM-dd}.log
,它是tomcat的启动和暂停时的运行日志,注意,它和catalina.out是里面的内容是不一样的。
1.3 tomcat 日志文件切割
tomcat 的 catalina.out 文件tomcat 是不会进行日志切割的,当这个文件大于2G 时,会影响tomcat的运行。那么我们需要对这个文件进行日志切割,切割的方法有很多种
1.3.1 cronolog切割
Linux 日志切割工具cronolog详解:https://blog.csdn.net/chenkeqin_2012/article/details/52670887
编译安装cronolog
1
2
3
4
5wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make && make install查看cronolog安装后所在目录(验证安装是否成功)
1
2which cronolog
// 一般情况下显示为:/usr/local/sbin/cronolog编辑tomcat目录bin下的catalina.sh文件
找到下面这行,类似这样的行有2处:
1
2org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 &- 第一处:tomcat是带“-security”参数的启动,
- 第二处:默认tomcat启动方式,也就是else下面的那部分,我们只修改这里。
- 另外还要把touch “$CATALINA_OUT”这行注释掉。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
"$_RUNJAVA" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
-Djava.security.manager \
-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 &
else
"$_RUNJAVA" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /usr/local/sbin/cronolog /usr/local/tomcat/logs/catalina.%Y%m%d.out >> /dev/null &
# >> "$CATALINA_OUT" 2>&1 &
fi重启tomcat
查看日志目录是否生成catalina.yymmdd.out
的日志文件
1 | -rw-r--r-- 1 root root 10537 Jul 30 10:50 catalina.20140730.out |
配置cronolog完成了,观察每天是否有一个新的catalina.yymmdd.out的日志文件生成,定期删除日期较旧的日志文件。
1.3.2 log4j切割
使用log4j成功使catalina.out文件实现分割
在tomcat根目录下建立
common/classes/log4j.properties
,内容如下:1
2
3
4
5
6
7log4j.rootLogger=INFO, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/tomcat.newlog #设定日志文件名
log4j.appender.R.MaxFileSize=100KB #设定文件到100kb即分割
log4j.appender.R.MaxBackupIndex=10 #设定日志文件保留的序号数
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n在tomcat根目录下的
common/lib
下加入log4j.jar
和commons-logging.jar
。重新启动tomcat即可。
1.3.3 自定义脚本切割
编写一个.sh文件,并放到tomcat下的bin目录,在cron中自动执行,shell脚本如下:
1 |
|
本文标题:Tomcat日志配置
文章作者:foreverSFJ
发布时间:2020-04-27 21:02:25
最后更新:2020-04-27 21:02:25
原始链接:Tools/Tomcat/Tomcat日志配置.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明出处!
分享