在Windows系统中,我们可以使用logrotate工具来按天切割日志文件。首先,你需要创建一个logrotate配置文件,例如:logrotate.conf
,内容如下:
D:\Tomcat8.5\logs\tomcat8-stdout.2023-08-24.log {
rotate 7
missingok
notifempty
compress
delaycompress
sharedscripts
copytruncate
dateext
dateformat .%Y-%m-%d
notifempty
}
这个配置文件的含义是:
/D:/Tomcat8.5/logs/tomcat8-stdout.log
:这是你要切割的日志文件的路径。daily
:表示每天切割一次日志文件。rotate 7
:表示保留最近7天的日志文件。compress
:表示压缩旧的日志文件。missingok
:表示如果日志文件不存在,不报错继续下一个。notifempty
:表示如果日志文件为空,不进行切割。- dateext://这个参数很重要!就是切割后的日志文件以当前日期为格式结尾,如xxx.log-20131216这样,如果注释掉,切割出来是按数字递增,即前面说的 xxx.log-1这种格式
- dateformat .%s //配合dateext使用,紧跟在下一行出现,定义文件切割后的文件名,必须配合dateext使用,只支持 %Y %m %d %s 这四个参数
- 然后,你可以在命令行中使用logrotate工具来运行这个配置文件:
- logrotate -f logrotate.conf
- 可以把执行命令存储为1.bat,然后再工作排程里面每天定期执行即可。