1 设置Tomcat日志级别
1.1 Tomcat日志类型
Tomcat 日志有下面5类:
catalina、localhost、manager、admin、host-manager
每类日志的级别分为如下7种:
SEVERE (lowest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
1.2 修改日志级别
Tomcat默认日志级别为FINE,调整日志级别需要修改文件conf/logging.properties
如:
设置 catalina 日志的级别为: WARINIG
1catalina.org.apache.juli.FileHandler.level = WARINIG
禁用 catalina 日志的输出:
1catalina.org.apache.juli.FileHandler.level = OFF
输出 catalina 所有的日志消息均输出:
1catalina.org.apache.juli.FileHandler.level = ALL
为了节省磁盘空间以及查看日志方便,我们的测试环境中,5类日志级别都调整为WARNING
2 Tomcat日志分割
每天23:30切割日志catalina.out,并删除超过7天的日志
2.1 日志分割脚本
脚本/home/shell/tomcat-log-cut.sh
log_path_tomcat1=/opt/tomcat/tomcat1/apache-tomcat-7.0.79/logs
log_path_tomcat2=/opt/tomcat/tomcat2/apache-tomcat-7.0.79/logs
d=`date +%Y-%m-%d`
dd=`date -d'7 day ago' +%Y-%m-%d`
#tomcat1
cd ${log_path_tomcat1}
cp catalina.out $log_path_tomcat1/catalina/catalina.out.$d.log
echo > catalina.out
rm -rf $log_path_tomcat1/catalina/catalina.out.${dd}.log
#tomcat2
cd ${log_path_tomcat2}
cp catalina.out $log_path_tomcat2/catalina/catalina.out.$d.log
echo > catalina.out
rm -rf $log_path_tomcat2/catalina/catalina.out.${dd}.log
将catalina.out 内容复制到catalina.out. d . l o g ( 按 日 期 ) 中 , 清 空 c a t a l i n a . o u t , 并 删 除 7 天 前 的 c a t a l i n a . o u t . d.log(按日期)中,清空catalina.out,并删除7天前的catalina.out. d.log(按日期)中,清空catalina.out,并删除7天前的catalina.out.dd.log
需要在 l o g p a t h t o m c a t 1 及 log_path_tomcat1及 logpathtomcat1及log_path_tomcat2/下新建catalina文件夹
2.2 配置 cron 任务
chmod 777 /home/shell/tomcat-log-cut.sh
crontab –e
30 23 * * * sh /home/shell/tomcat-log-cut.sh
每天23:30执行脚本tomcat-log-cut.sh
3 Nignx日志分割
每天23:30切割日志access.log及error.log,并删除超过7天的日志
3.1 日志分割脚本
脚本/home/shell/nginx-cut-log.sh
log_path=/opt/nginx/logs
d=`date +%Y-%m-%d`
dd=`date -d'7 day ago' +%Y-%m-%d`
cd ${log_path}
cp access.log $log_path/access/access.$d.log
echo > access.log
rm -rf $log_path/access/access.${dd}.log
cp error.log $log_path/error/error.$d.log
echo > error.log
rm -rf $log_path/error/error.${dd}.log
需要在$log_path目录下新建access文件夹
3.2 配置 cron 任务
chmod 777 /home/shell/ nginx-log-cut.sh ut.sh
crontab –e
30 23 * * * sh /home/shell/nginx-log-cut.sh
每天23:30执行脚本nginx-log-cut.sh sh