簡體   English   中英

如何在運行時設置log4j轉換模式

[英]how can I set the log4j conversionpattern at runtime

我有一個Java應用程序,同時解析電子表格中的輸入。 我添加了從ant任務中獨立運行解析器部分的功能。 但是我正在使用的正常log4j模式會使輸出難以讀取,我想在運行時設置一個簡單的模式。

所以像log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n

        parseDebug = new Boolean(System.getProperty("ptpunit.parseDebug")).booleanValue();

        if(parseDebug){

            // SET CONVERSION PATTERN HERE

            log.setLevel((Level) Level.DEBUG);

        }

我想你可以這樣做:

ConsoleAppender a = (ConsoleAppender) Logger.getRootLogger().getAppender("stdout");
a.setLayout(new PatternLayout("%d{HH:mm:ss}  %-5.5p  %t %m%n"));

當然,您必須根據您使用的類型更改Appender類型,您可能必須通過調用來取代“Logger.getRootLogger()”以獲取您的appender實際附加到的記錄器。

暫無
暫無

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

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