应用环境:
使用Java框架写了一个程序,使用log4j作为日志记录的工具,将该程序导出为独立jar包运行。
问题:
在使用java -jar test.jar命令运行jar包时,当使用下面代码打印log时,
public static Logger logger = Logger.getLogger(Test.class);
logger.info("start");
会 出现如下WARN信息:
log4j:WARN No appenders could be found for logger (org.springframework.core.env.
StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
原因:
在使用logger之前没有对log4j进行必要的初始化。
分析:
由于jar包不像war包,只要在classpath存在log4j.properties文件,就会自动加载配置文件进行初始化。
jar包中需要手动对log4j进行初始化。
方法:
import org.apache.log4j.PropertyConfigurator;
PropertyConfigurator.configure("log4j.properties");
结果:
在jar包当前路径下存放配置文件log4j.properties,运行jar包就可以正常打印log了。