Tomcat日志

Tomcat的日志

  • Tomcat的日志在/usr/local/tomcat/log/目录下
[root@localhost logs]# ls
catalina.2019-02-25.log  catalina.out                 host-manager.2019-02-26.log  localhost.2019-02-26.log             localhost_access_log.2019-02-26.txt  manager.2019-02-26.log
catalina.2019-02-26.log  host-manager.2019-02-25.log  localhost.2019-02-25.log     localhost_access_log.2019-02-25.txt  manager.2019-02-25.log
  • 在这个目录下有这么多日志文件,当我们遇到问题时应该查看哪个呢?
  • 遇到问题查看catalina.out ,这个日志是核心日志,无论正确或者错误的访问信息,不管是Tomcat服务本身还是Tomcat上跑的应用(如zrlog)产生的日志都会记录到这个日志里。
  • 两个manager日志是管理台相关的日志,不用关注。
  • access_log是访问日志,记录的是客户访问站点的情况,这个日志也可以不用让它记录,而是在nginx代理上记录访问信息,所以也不用关注。
  • 这个带日期的catalina.xxxx-xx-xx.log是catalina引擎相关的日志,可以认为是Tomcat服务本身的日志,这个也不用关注,因为它和catalina.out是重复的,也就是说这个日志中记录的内容在catalina.out这个日志中就有。
  • localhost.xxxx-xx-xx.log,它主要是应用初始化(listener,filter,servlet)未处理的异常最后被Tomcat捕获而输出的日志,也不用太关注

日志配置文件conf/logging.properties

  • 这里面主要定义了非访问日志的一些属性,比如日志路径、哪些日志记录到哪个文件中(名字)、日志级别、存储周期等信息,这个配置文件我们一般都不会去更改。而访问日志的格式、路径是在server.xml中定义的,如下是server.xml配置文件中为访问日志的配置片段:
  <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

catalina.out文件并没有日期后缀,意味着该文件不会自动切割,它会越写越大,直到将硬盘的容量写满,解决这个问题的办法有两个。

一:新增一个计划任务,每隔一段时间就清空该文件。

crontab的任务计划格式

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)                   ##分
# |  .------------- hour (0 - 23)					##时
# |  |  .---------- day of month (1 - 31)			##日
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...	##月
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR	##周 sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed			##执行的命令
  • 定时清空catalina.out
[root@localhost etc]# crontab -l
0 0 */5 * * echo "" > /usr/local/tomcat/logs/catalina.out

补充:

  • 有两个文件可以控制crontab能否被其他用户使用,/etc/cron.deny 和/etc/cron.allow 系统默认保留的是/etc/cron.deny,最好选择一个使用,避免逻辑混乱。如果不想用户lic使用crontab功能,可以将lic添加到/etc/corn.deny文件中。

  • crontab命令

  • crontab -u 只有root用户能够使用该参数,也就是帮其他用户添加删除crontab任务计划

  • crontab -e 编辑crontab的工作内容

  • crontab -l 查阅crontab的工作内容

  • crontab -r 删除所有的crontab的内容,如果要删除一项,可以使用crontab -e去删除一项。

  • 使用crontab来新建了任务计划之后,该项计划就会被记录到/var/spool/cron里面,且是以账号来判别的。比如,root用户建了任务计划就会被写到/var/spool/cron/root中;另外cron执行的每一项工作都会被写到/var/log/cron这个日志文件中,所以如果不知道系统是否被恶意运行过cron ,可以查看该日志文件。

二:用系统自带的logrotate工具切割

  • 在logrotate.d下创建Tomcat的切割配置文件。
 vi /etc/logrotate.d/tomcat
  • 在配置文件中添加如下内容
    /usr/local/tomcat/logs/catalina.out  {
    copytruncate    # 创建新的catalina.out副本后,截断源catalina.out文件
    daily    # 每天进行catalina.out文件的轮转
    rotate 7     # 至多保留7个副本
    missingok    # 如果要轮转的文件丢失了,继续轮转而不报错
    compress     # 使用压缩的方式(节省硬盘空间)
    size 16M     # 当catalina.out文件大于16MB时,就轮转
    }

转载于:https://my.oschina.net/u/3731306/blog/3015739

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值