2013-08-01 143 views
0

是否有可能以簡單的方式從java代碼配置log4j - 因此,我希望所有日誌都寫入標準輸出?虛擬log4j配置(測試)

+0

它是可能的,很簡單,但使用log4j.properties文件仍然是簡單的。當測試你只是使用不同的文件(例如通過設置環境變量,請參閱log4j文檔如何做到這一點) –

+0

好點!無論如何,你能否描述一下我如何從代碼中做到這一點? – user590444

回答

3
static Logger logger = Logger.getLogger(NewMain1.class); 

public static void main(String[] args) { 
    BasicConfigurator.configure(); 

    logger.info("out"); 
} 
1

Log4j有一個ConsoleAppender來將日誌重定向到控制檯。下面是一個示例配置:

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 
0
Logger root = Logger.getRootLogger(); 
root.addAppender(new ConsoleAppender(
    new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN)));