配置 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。您还需要:

您 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