您的位置:首页 > 运维架构

快捷配置Log4J打印到控制台

2012-12-14 15:30 169 查看
背景:在同时使用Log4J和commons-logging库时,单独运行一个类进行测试的时候,总是打印如下警告信息:

                      log4j:WARN No appenders could be found for logger (xxx.LogTool).

                      log4j:WARN Please initialize the log4j system properly.

           所以需要一个快捷的配置Log4J打印到控制台的方案,解决单独运行类做测试时消息打印到控制台的方案

 

方案说明:直接使用Java类简易配置Log4J输出到控制台,只需要在程序的起始位置添加调用一个方法LogTool.initLogConfig()即可。关键点就是使用Properties类保存配置属性,然后通过PropertyConfigurator.configure(prop);进行装载。

 

代码如下:

import java.util.Properties;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

/**
*
* @author alan
*/
public class LogTool {

private static Logger log = Logger.getLogger(LogTool.class);

public static void test() {
log.info("Config successfully!");
}

/**
* 为Log4j的日志输出进行配置——输出到控制台
*
* @param dirPath
*/
public static void initLogConfig() {
Properties prop = new Properties();
prop.setProperty("log4j.rootLogger", "INFO, console");
prop.setProperty("log4j.appender.console", "org.apache.log4j.ConsoleAppender");
prop.setProperty("log4j.appender.console.layout", "org.apache.log4j.PatternLayout");
prop.setProperty("log4j.appender.console.layout.ConversionPattern", "- %d %-5p (%F:%L) - %m%n");
PropertyConfigurator.configure(prop);
log.info("Config console appender successfully!");
}

public static void main(String[] args) {
initLogConfig();
test();
initLogConfig();
test();
}
}

 

如果有朋友有更简单的解决方案,也请留言一下,谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息