配置 log4j2 2.16.0
To configure log4j2 2.16.0
我想以那种方式配置 log4j2.properties 文件,其中我的 swapi.log 条目删除所有以前写入的日志,例如,如果我们想删除最多 30 个条目的日志条目,一旦它达到到 30,它会自动被删除。因为我们不去占用服务器内存。
所以,到目前为止,我尝试了下面给出的方法,它在控制台中工作正常并附加到日志文件中。但我一直想弄清楚如何删除所有以前的日志条目。任何帮助将不胜感激。
name=PropertiesConfig
appenders = console, file
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.file.type = File
appender.file.name = LOGFILE
appender.file.fileName=C:\SWAPILogs\swapi.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
loggers=file
logger.file.name=com.gds.service
logger.file.level = debug
logger.file.appenderRefs = file
logger.file.appenderRef.file.ref = LOGFILE
rootLogger.level = debug
rootLogger.appenderRefs = STDOUT
rootLogger.appenderRef.stdout.ref = STDOUT
如 in the comments to rotate your log files you need to use a RollingFileAppender
。您还需要:
- 在
DefaultRolloverStrategy
、 上设置 max="30"
- 选择一个
filePattern
包含一个整数 %i
,
- 选择一个合适的
TriggeringPolicy
,它会在需要滚动时告诉 appender。
您 XML 配置将如下所示:
<RollingFile
name="LOGFILE"
fileName="C:\SWAPILogs\swapi.log"
filePattern="C:\SWAPILogs\swapi-%i.log">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
<SizeBasedTriggeringPolicy size="10 MB" />
<DefaultRolloverStrategy
fileIndex="min"
max="30" />
</RollingFile>
您使用的属性配置格式更加冗长,但可以很容易地从 XML 格式派生:某个组件的所有属性共享相同的前缀并使用 <component prefix>.<property name>
指定.所有子组件都使用前缀 <parent component's prefix>.<component id>
,其中 <component id>
是任意选择的标识符。每个组件必须有一个 属性 <component prefix>.type
来反映 XML 配置中的标记名称。
上面的配置可以翻译成:
appender.file.type = RollingFile
appender.file.name = LOGFILE
appender.file.fileName=C:\SWAPILogs\swapi.log
appender.file.filePattern=C:\SWAPILogs\swapi-%i.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.file.policy.type=SizeBasedTriggeringPolicy
appender.file.policy.size=10 MB
appender.file.strategy.type=DefaultRolloverStrategy
appender.file.strategy.fileIndex=min
appender.file.strategy.max=30
我想以那种方式配置 log4j2.properties 文件,其中我的 swapi.log 条目删除所有以前写入的日志,例如,如果我们想删除最多 30 个条目的日志条目,一旦它达到到 30,它会自动被删除。因为我们不去占用服务器内存。
所以,到目前为止,我尝试了下面给出的方法,它在控制台中工作正常并附加到日志文件中。但我一直想弄清楚如何删除所有以前的日志条目。任何帮助将不胜感激。
name=PropertiesConfig
appenders = console, file
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.file.type = File
appender.file.name = LOGFILE
appender.file.fileName=C:\SWAPILogs\swapi.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
loggers=file
logger.file.name=com.gds.service
logger.file.level = debug
logger.file.appenderRefs = file
logger.file.appenderRef.file.ref = LOGFILE
rootLogger.level = debug
rootLogger.appenderRefs = STDOUT
rootLogger.appenderRef.stdout.ref = STDOUT
如RollingFileAppender
。您还需要:
- 在
DefaultRolloverStrategy
、 上设置 - 选择一个
filePattern
包含一个整数%i
, - 选择一个合适的
TriggeringPolicy
,它会在需要滚动时告诉 appender。
max="30"
您 XML 配置将如下所示:
<RollingFile
name="LOGFILE"
fileName="C:\SWAPILogs\swapi.log"
filePattern="C:\SWAPILogs\swapi-%i.log">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
<SizeBasedTriggeringPolicy size="10 MB" />
<DefaultRolloverStrategy
fileIndex="min"
max="30" />
</RollingFile>
您使用的属性配置格式更加冗长,但可以很容易地从 XML 格式派生:某个组件的所有属性共享相同的前缀并使用 <component prefix>.<property name>
指定.所有子组件都使用前缀 <parent component's prefix>.<component id>
,其中 <component id>
是任意选择的标识符。每个组件必须有一个 属性 <component prefix>.type
来反映 XML 配置中的标记名称。
上面的配置可以翻译成:
appender.file.type = RollingFile
appender.file.name = LOGFILE
appender.file.fileName=C:\SWAPILogs\swapi.log
appender.file.filePattern=C:\SWAPILogs\swapi-%i.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.file.policy.type=SizeBasedTriggeringPolicy
appender.file.policy.size=10 MB
appender.file.strategy.type=DefaultRolloverStrategy
appender.file.strategy.fileIndex=min
appender.file.strategy.max=30