2013-08-01 140 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)));