使用logrotate分割Tomcat的catalina日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 使用logrotate分割Tomcat的catalina日志切割catalian日志的方式有很多种,比如shell脚本的、cronolog或者通过配置log4j等等这些都可以实现。

使用logrotate分割Tomcat的catalina日志

切割catalian日志的方式有很多种,比如shell脚本的、cronolog或者通过配置log4j等等这些都可以实现。但今天我要介绍是使用logrotate来按日期生成日志。

原文是一个外国博主的文章,在这里分享给大家。

如果catalina.out的大小超过了2G,那么tomcat可能在没有错误提示的情况下崩溃、无法启动。所以为了避免出现这个问题,我们应该每天分割catalina.out

如何每天自动的分割catalina.out或者大小达到5M时切割catalina.out

1.新建一个文件
在/etc/logrotate.d/ 目录下新建一个文件,命名随意。

# /etc/logrotate.d/tomcat

2.复制下面的语句至上文新建的文件中

# /var/log/tomcat/catalina.out {   copytruncate   daily   rotate 7   compress   missingok   size 5M  }

各个配置的具体含义:

  • 确保/var/log/tomcat/catalina.out指向你服务器中的catalina.out的地址
  • daily - 每天切割
  • rotate - 保留最多七个文件
  • compress - 压缩分割后的文件
  • size - 当catalina.out大于5M时分割

如何起作用

  • 每天晚上,cron daemon会自动执行/etc/cron.daily目录下的任务
  • 这个会触发/etc/cron.daily/logrotate文件,logrotate一般是随linux按安装的。它会执行这个命令-“/etc/sbin/logrotate /etc/logrotate.conf”(注意空格)
  • /etc/logrotate.conf 包含了/etc/logrotate.d目录下的所有脚本
  • 这个会触发上一步你写的/etc/logrotate.d/tomcate文件

手动执行logrotate

执行以下语句来手动运行cron任务

# /usr/sbin/logrotate /etc/logrotate.conf

logrotate的更多操作

 man logrotate

阿里云日志切割

  1. 执行命令
# cat >/etc/logrotate.d/tomcat <<EOF
/home/admin/taobao-tomcat-production-7.0.59.3/logs/catalina.out {
daily
rotate 7
dateext
dateformat .%Y-%m-%d
notifempty
missingok
copytruncate
}
EOF

2.手动触发

 # logrotate -f /etc/logrotate.d/tomcat

原文地址: https://www.cnblogs.com/tayxxs/p/5701546.html

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
监控 应用服务中间件 Linux
轻松解决日志文件积压问题:掌握logrotate的技巧
轻松解决日志文件积压问题:掌握logrotate的技巧
88 1
|
1月前
|
监控 关系型数据库 Linux
Linux日志管理工具:Logrotate(二)
Linux日志管理工具:Logrotate(二)
34 2
|
1月前
|
存储 监控 安全
Linux日志管理工具:Logrotate(一)
Linux日志管理工具:Logrotate(一)
86 0
|
3月前
|
应用服务中间件
Tomcat日志中文乱码
Tomcat日志中文乱码
|
3月前
logrotate 日志文件管理工具介绍和经典案例
logrotate 日志文件管理工具介绍和经典案例
64 0
|
4月前
|
应用服务中间件
Tomcat日志中文乱码
通过以上步骤,你可以在Tomcat日志中解决中文乱码问题,确保日志以UTF-8编码输出。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
41 4
|
4月前
|
Java 应用服务中间件
解决IDEA tomcat控制台只有server日志
请注意,确保在调试或开发阶段使用更详细的日志级别(如 `DEBUG`或 `TRACE`),但在生产环境中应将其设置为更高的级别以减少日志量。
104 0
|
18天前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
|
10天前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
43 9
|
18天前
|
开发框架 .NET Docker
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题