Tomcat 服务器日志文件名中有日期 - rotatable=false 不起作用

Tomcat server logs have date in filename - rotatable=false does not work

我在同一台 Redhat 5 机器上有两个 tomcat 6 安装 运行 - 一个是 "mine",另一个属于我组织中的另一个组。我的目前是6.0.35,另一个是6.0.32。我在为 tomcat 日志生成文件名时遇到了问题,这些文件名以日期结尾,这破坏了我们的日志轮换,所以我在这里搜索了一下,发现设置

1catalina.org.apache.juli.FileHandler.rotatable

根据此处的文档,

属性 错误地删除了日期:

https://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/juli/FileHandler.html

欢呼;问题解决了。所以我检查了另一个安装是否有同样的问题;是的,他们让我帮他们修好。由于他们的 logging.properties 设置与我们的完全相同(全部基于 ${catalina.base}),我只是复制了新的、固定的 logging.properties 文件,该文件在我们的安装中有效,并修复了权限。但是由于某些原因,这里不起作用。

我可以从 运行 进程的命令行参数确认两者都使用相同的 logging.manager (org.apache.juli.ClassLoaderLogManager) 并且第二个安装使用正确的 logging.properties 配置文件。我什至可以更改该文件中的其他属性(例如前缀、后缀)并重新启动服务器以查看它们在使用的文件名中生效。但无论出于何种原因,第二个安装似乎忽略了 rotatable=false 属性,并拒绝生成名称中没有日期的日志文件。这是我正在使用的 logging.properties 文件:

handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina
1catalina.org.apache.juli.FileHandler.suffix = .log
1catalina.org.apache.juli.FileHandler.rotatable = false

2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost
2localhost.org.apache.juli.FileHandler.suffix = .log
2localhost.org.apache.juli.FileHandler.rotatable = false

3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix = manager
3manager.org.apache.juli.FileHandler.suffix = .log
3manager.org.apache.juli.FileHandler.rotatable = false

4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.FileHandler.prefix = host-manager
4host-manager.org.apache.juli.FileHandler.suffix = .log
4host-manager.org.apache.juli.FileHandler.rotatable = false

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter


############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler

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

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.FileHandler

如果有人有任何建议 - 也许其他位置可以覆盖 logging.properties 文件? - 我一定会很感激。

谢谢,

 - rob.

检查 tomcat-juli.jar 版本。