【发布时间】:2017-12-27 12:46:54
【问题描述】:
我正在开发一个 Java 应用程序,我正在将信息和错误记录器写入文本文件作为日志供我们参考。该文件增长巨大,所以我需要检查文件的大小...例如,如果文件大小超过 10 Mb,我必须创建另一个文件。
像这样,我必须创建 10 个文件,一个接一个地旋转直到十个文件。达到十个文件后,我必须删除起始文件并重新开始创建......
如何删除编号后的文件。的文件将变为 10?
此操作的主要约束是尝试在不使用 log4j 或 logback 库的情况下完成需求。
Logging.properties
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
3manager.org.apache.juli.AsyncFileHandler.level = FINE
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
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.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
############################################################
# 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.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
【问题讨论】:
-
您是否在使用第三方 API,例如 log4j?
-
即使你不想使用log4j,也可以看看它的源码:grepcode.com/file/repo1.maven.org/maven2/log4j/log4j/1.2.15/org/…
-
包括一些你的日志代码和/或配置文件。
-
@jmehrens 包含用于 logging.properties 的 sn-p