Java 在文件大小和时间上回滚日志

Java 在文件大小和时间上回滚日志,java,logging,logback,Java,Logging,Logback,我一直在尝试设置一个简单的logback项目,以按日期和文件大小滚动日志文件,到目前为止,我无法让我的appender滚动到另一个文件。相反,它会写入由标记指定的日志 这是我的logback.xml配置文件: 虽然这是一个老问题,但我觉得一个有效的答案适合帮助任何需要这种实现的人 我使用下面的logback配置来提供一个HTML日志(按日期和文件大小滚动),并将日志记录到控制台以调试输出 日志文件在其活动时存储在名为logFile.html的logs目录中,在其滚动时存储在名为logFile.

我一直在尝试设置一个简单的logback项目,以按日期和文件大小滚动日志文件,到目前为止,我无法让我的appender滚动到另一个文件。相反,它会写入由标记指定的日志

这是我的logback.xml配置文件:



虽然这是一个老问题,但我觉得一个有效的答案适合帮助任何需要这种实现的人

我使用下面的logback配置来提供一个HTML日志(按日期和文件大小滚动),并将日志记录到控制台以调试输出

日志文件在其活动时存储在名为
logFile.html
logs
目录中,在其滚动时存储在名为
logFile.2013-mm-dd.i.html
的目录中,其中i是50MB日志文件的数量。例如
logFile.2013-01-07.0.html


UTF-8
%d{HH:mm:ss.SSS}[%thread]%高亮显示(%-5level)%cyan(%logger{35})-%msg%n
logs\logFile.html
日志\logFile.%d{yyyy-MM-dd}.%i.html
50MB
30
UTF-8
%d{HH:mm:ss.SSS}%thread%级别%logger%行%msg

虽然这是一个老问题,但我觉得一个有效的答案适合帮助任何需要这种实现的人

我使用下面的logback配置来提供一个HTML日志(按日期和文件大小滚动),并将日志记录到控制台以调试输出

日志文件在其活动时存储在名为
logFile.html
logs
目录中,在其滚动时存储在名为
logFile.2013-mm-dd.i.html
的目录中,其中i是50MB日志文件的数量。例如
logFile.2013-01-07.0.html


UTF-8
%d{HH:mm:ss.SSS}[%thread]%高亮显示(%-5level)%cyan(%logger{35})-%msg%n
logs\logFile.html
日志\logFile.%d{yyyy-MM-dd}.%i.html
50MB
30
UTF-8
%d{HH:mm:ss.SSS}%thread%级别%logger%行%msg
自logback 1.1.7(2016年3月发布)以来,一个名为
SizeAndTimeBasedRollingPolicy
的新策略可供使用,它大大简化了您需要执行的操作:

了解更多信息。

自logback 1.1.7(2016年3月发布)以来,一个名为
SizeAndTimeBasedRollingPolicy的新策略可用,它大大简化了您需要执行的操作:


了解更多信息。

请参阅,此配置日志
SizeAndTimeBasedFNATP已被弃用。
使用
logback.xml中的
debug=true
选项根据我的测试
maxHistory
不是天数,而是文件数,因此如果每天有更多文件,您将有更少的天数…好的,我做了更多的测试,它看起来像是周期数,对于
yyyy-MM-dd
是天数,对于
yyy-MM-dd-HH
是小时数,可以在周期内处理多个文件。请参阅,此配置日志
SizeAndTimeBasedFNATP已被弃用。
使用
logback.xml中的
debug=true
选项根据我的测试
maxHistory
不是天数,而是文件数,因此如果每天有更多文件,则天数会更少…好的,我测试了更多,看起来像是周期数,这对于
yyyy-MM-dd
是天数,对于
yyy-MM-dd-HH
是小时数,可以在一段时间内处理多个文件。根据我的测试
maxHistory
不是天数,而是文件数,因此如果每天有更多文件,你将有更少的天数…除非是错误,很明显,
maxHistory
是天数(请注意xml注释)。不太清楚,它的内容是“可选的maxHistory属性控制要保留的存档文件的最大数量…”,它们的每月滚动示例有点混乱,xml注释是错误的。我会给他们发一封电子邮件,我会让你知道的。好吧,我测试了更多,似乎周期数,
yyy-MM-dd
是天数,而
yyy-MM-dd HH
是小时数,可以在周期内处理多个文件。根据我的测试
maxHistory
不是天数,而是文件数,因此,如果您每天有更多的文件,您将有更少的天数…除非是bug,否则很明显,
maxHistory
是天数(请注意xml注释)。不是真的,读取“可选的maxHistory属性控制要保留的存档文件的最大数量…”,他们每月滚动的例子有点混乱,XML中的注释是错误的。我会给他们发一封电子邮件,我会告诉你们的。好吧,我测试了更多,似乎是周期数,对于
yyyy-MM-dd
是天数,对于
yyy-MM-dd HH
是小时数,可以在周期内处理多个文件。