当前位置: 首页 > article >正文

tomcat如何配置保存7天滚动日志

在 Tomcat 中,logging.properties 文件是用于配置 Java 日志框架(java.util.logging)的。若要实现 catalina.out 日志保存 7 天,且每天的日志文件名带有时间戳,可以按以下步骤进行配置:

1. 备份原配置

在修改 logging.properties 文件之前,先对其进行备份,以防止配置错误导致问题。该文件通常位于 $CATALINA_BASE/conf 目录下。

2. 修改 logging.properties 配置

下面是具体的配置示例,可实现日志按天滚动并保留 7 天的功能:

properties

# 配置根日志记录器,指定日志级别和使用的处理器
handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler

# 配置控制台日志处理器,可根据需要调整
.handlers = java.util.logging.ConsoleHandler

# 配置 catalina 日志处理器
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
# 文件名添加日期格式
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.suffix =.log
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 7
# 开启按天滚动
1catalina.org.apache.juli.AsyncFileHandler.rotatable = true
1catalina.org.apache.juli.AsyncFileHandler.formatter = java.util.logging.SimpleFormatter

# 其他日志处理器配置保持不变,如 localhost、manager、host-manager
2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
2localhost.org.apache.juli.AsyncFileHandler.suffix =.log
2localhost.org.apache.juli.AsyncFileHandler.maxDays = 7
2localhost.org.apache.juli.AsyncFileHandler.rotatable = true
2localhost.org.apache.juli.AsyncFileHandler.formatter = java.util.logging.SimpleFormatter

3manager.org.apache.juli.AsyncFileHandler.level = FINE
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
3manager.org.apache.juli.AsyncFileHandler.suffix =.log
3manager.org.apache.juli.AsyncFileHandler.maxDays = 7
3manager.org.apache.juli.AsyncFileHandler.rotatable = true
3manager.org.apache.juli.AsyncFileHandler.formatter = java.util.logging.SimpleFormatter

4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
4host-manager.org.apache.juli.AsyncFileHandler.suffix =.log
4host-manager.org.apache.juli.AsyncFileHandler.maxDays = 7
4host-manager.org.apache.juli.AsyncFileHandler.rotatable = true
4host-manager.org.apache.juli.AsyncFileHandler.formatter = java.util.logging.SimpleFormatter

# 配置日志记录器的日志级别
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.AsyncFileHandler

3. 配置说明

  • 1catalina.org.apache.juli.AsyncFileHandler:这是用于处理 catalina 日志的异步文件处理器。
    • level:指定日志级别为 FINE,可根据需求调整。
    • directory:指定日志文件的存储目录,这里使用 $CATALINA_BASE/logs
    • prefix 和 suffixprefix 为日志文件名前缀,suffix 为后缀,结合起来日志文件名会是 catalina.日期.log 的形式,日期由 Tomcat 自动添加。
    • maxDays:设置日志文件的保留天数为 7 天,超过 7 天的日志文件会被自动删除。
    • rotatable:设置为 true 表示开启按天滚动日志的功能。
    • formatter:指定日志的格式化器为 java.util.logging.SimpleFormatter

4. 重启 Tomcat

修改完 logging.properties 文件后,需要重启 Tomcat 使配置生效。重启后,Tomcat 会按照配置每天生成一个新的日志文件,文件名带有日期,并且会自动删除 7 天前的日志文件。

通过以上步骤,就可以实现 catalina.out 日志按天滚动并保留 7 天的功能。


http://www.kler.cn/a/535982.html

相关文章:

  • 电脑可以自己换显卡吗?怎么操作
  • mysql8安装时提示-缺少Microsoft Visual C++ 2019 x64 redistributable
  • 51单片机07 串口通信
  • 博客园-awescnb插件-geek皮肤优化-Markdown样式支持
  • 为什么会有函数调用参数带标签的写法?Swift函数调用的参数传递需要加前缀是否是冗余?函数调用?函数参数?
  • 笔试-业务逻辑4
  • NLP知识点
  • 7-1 什么是机器学习
  • C语言数据结构编程练习-排序算法
  • 2.1-STL库中string类的模拟实现
  • DIY Shell:探秘进程构建与命令解析的核心原理
  • 蓝桥杯小白打卡第二天
  • 【大模型LLM面试合集】大语言模型架构_Transformer架构细节
  • java高级工程师面试题_java高级工程师面试题及答案解析
  • 【原子工具】快速幂 快速乘
  • 基于Flask的商城应用系统的设计与实现
  • vscode中的编辑器、终端、输出、调试控制台(转载)
  • 大数据系统文件格式ORC与Parquet
  • 算法设计-四后问题(C++)
  • 力扣54螺旋矩阵
  • 6 加密技术与认证技术
  • solidity高阶 -- 调用接口合约
  • AWS App2Container
  • C#Halcon差异分类模型
  • 深度学习篇---深度学习中的超参数张量转换模型训练
  • Redis性能优化