简体   繁体   English

配置 log4j2 2.16.0

[英]To configure log4j2 2.16.0

I want to configure log4j2.properties file in a that way where my swapi.log entries delete all previous logs written, for example if we want to delete log entry for upto 30 entries, once it reaches to 30, it automatically gets deleted.我想以这样的方式配置 log4j2.properties 文件,其中我的 swapi.log 条目删除所有以前写入的日志,例如,如果我们要删除最多 30 个条目的日志条目,一旦达到 30,它就会自动被删除。 Because we don't to occupy server memory.因为我们不占用服务器memory。

So, far I tried this as given below and its working fine in console and appending in log file.所以,到目前为止,我尝试了下面给出的它,它在控制台中工作正常并附加到日志文件中。 But I badly stuck to figure out that how to delete all previous log entries.但我非常想弄清楚如何删除所有以前的日志条目。 Any help would be highly appreciated.任何帮助将不胜感激。

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

As remarked by Nitesh in the comments to rotate your log files you need to use a RollingFileAppender .正如Nitesh在评论中所说,要轮换您的日志文件,您需要使用RollingFileAppender You'll also need:您还需要:

You XML configuration will look like:您的 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>

The properties configuration format you are using is much more verbose, but can be easily derived from the XML format: all properties of a certain component share the same prefix and are specified using <component prefix>.<property name> .您使用的属性配置格式要冗长得多,但可以从 XML 格式轻松派生:某个组件的所有属性共享相同的前缀,并使用<component prefix>.<property name>指定。 All subcomponents use the prefix <parent component's prefix>.<component id> , where <component id> is an arbitrarily chosen identifier.所有子组件都使用前缀<parent component's prefix>.<component id> ,其中<component id>是任意选择的标识符。 Each component must have a property <component prefix>.type that reflects the tag name in the XML configuration.每个组件必须有一个属性<component prefix>.type反映 XML 配置中的标签名称。

The configuration above can be translated into:上面的配置可以翻译成:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM