簡體   English   中英

Log4j 程序化配置 DefaultRolloverStrategy

[英]Log4j Programmatic Configuration DefaultRolloverStrategy

我將此引用用於 Log4j 的編程配置

https://logging.apache.org/log4j/2.x/manual/customconfig.html

但我不知道如何在 appender 上配置“DefaultRolloverStrategy”

LayoutComponentBuilder layoutBuilder = builder.newLayout("PatternLayout")
                    .addAttribute("pattern", "%d{yyyy-MM-dd HH:mm:ss} %t - %-5p %c{1}:%L - %m%n");
            ComponentBuilder triggeringPolicy = builder.newComponent("Policies")
                    .addComponent(builder.newComponent("SizeBasedTriggeringPolicy").addAttribute("size", "50M"));



          AppenderComponentBuilder appenderBuilder = builder.newAppender("file", "RollingFile")
                    .addAttribute("fileName", logPath + "/isf_tms_1.log")
                    .addAttribute("filePattern", logPath + "/archive/isf_tms_1-%d{MM-dd-yy}-%i.log.gz")

                    .add(layoutBuilder)
                    .addComponent(triggeringPolicy);
            builder.add(appenderBuilder);

我試過

ComponentBuilder strategy = builder.newComponent("Strategy")
                    .addComponent(builder.newComponent("DefaultRolloverStrategy").addAttribute("max", "2"));

或向策略添加組件

.addComponent(builder.newComponent("DefaultRolloverStrategy").addAttribute("max", "2"))

但沒有工作,我找不到任何文檔

您可以像這樣將DefaultRolloverStrategy添加到您的appenderBuilder

   AppenderComponentBuilder appenderBuilder = builder.newAppender("file", "RollingFile")
                .addAttribute("fileName", logPath + "/isf_tms_1.log")
                .addAttribute("filePattern", logPath + "/archive/isf_tms_1-%d{MM-dd-yy}-%i.log.gz")

                .add(layoutBuilder)
                .addComponent(triggeringPolicy)
                .addComponent(builder.newComponent("DefaultRolloverStrategy").addAttribute("max", 2));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM