2009-09-10 74 views
4

我有一個Java應用程序,同時分析電子表格的輸入。我已經添加了從ant任務中僅運行解析器部分獨立的功能。然而,我正在使用的正常log4j模式可以使輸出很難閱讀,我想在運行時設置一個簡單的模式。如何在運行時設置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); 

     } 

回答

8

我想你可以做這樣的事情:

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

當然,你必須根據一個改變的Appender型使用的是和你可能必須通過調用來取代「Logger.getRootLogger()」以獲取您的appender實際連接的記錄器。