Java记录器文件处理程序命名约定

Java记录器文件处理程序命名约定,java,logging,filehandler,Java,Logging,Filehandler,我部署了一个servlet。我对正在生成的日志文件有点困惑。尤其是我不确定该看哪一个 使用相同的数据生成了多个 我正在使用以下代码初始化我的Filehandler Logger logger = Logger.getLogger(Global.TAG); String path = realPath + "myappname" + ".%g.log"; FileHandler fh = new FileHandler(path, 10240000, 1000, true); logger.add

我部署了一个servlet。我对正在生成的日志文件有点困惑。尤其是我不确定该看哪一个

使用相同的数据生成了多个

我正在使用以下代码初始化我的Filehandler

Logger logger = Logger.getLogger(Global.TAG);
String path = realPath + "myappname" + ".%g.log";
FileHandler fh = new FileHandler(path, 10240000, 1000, true);
logger.addHandler(fh);
logger.setLevel(Level.ALL);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
logInfo("Logger Configured!");
请注意,当文件旋转时,我在其中有
%g

生成的文件如下所示

myappname.0.log
myappname.0.log.1
myappname.0.log.2
myappname.0.log.3
myappname.0.log.4
myappname.0.log.5
myappname.0.log.6
myappname.1.log
myappname.1.log.2
myappname.1.log.4
myappname.1.log.5
myappname.2.log
myappname.2.log.1
myappname.2.log.2
myappname.2.log.3
myappname.2.log.4
myappname.2.log.5
myappname.2.log.6
myappname.3.log
myappname.3.log.1
myappname.3.log.3
myappname.3.log.6
在生成日志的最后2-3周内,servlet被取消部署并多次重新部署

我注意到,具有相同名称的日志(除了“.log”部分后面的最后一位)具有相同的日志语句。有些文件有更多的文件,有些文件有更少的文件


有什么好处?我应该如何阅读此内容?

日志文件可能已达到限制,并旋转为新的日志文件。如果这是真的,没有附加数字的文件将有10240000字节计数

另一种可能性是,每次重新启动程序时,它都会创建一个新的日志,并在日志后附加一个数字

如果您还没有在FileHandler上查看javadoc。

您在部署时以编程方式打开一个FileHandler,因此在取消部署时可以关闭并从记录器中删除FileHandler

根据文件:

通常“%u”唯一字段设置为0。但是,如果FileHandler尝试打开该文件名,并发现该文件当前正由另一个进程使用,则它将增加“唯一编号”字段,然后重试。将重复此操作,直到FileHandler找到当前未使用的文件名。如果存在冲突且未指定“%u”字段,则该字段将添加到文件名末尾的点后。(这将在任何自动添加的代数之后。)


您必须通过logging.properties设置文件处理程序,使其只安装一次,或者将安装和拆卸代码移动到一个

取消部署时,我没有关闭与日志文件的连接,这导致了所有额外文件