1.将log4j配置打包在jar之外并调用的方法
默认情况下,log4j会自动加载classloader下的log4j.properties或 log4j.xml文件。所以一般没有特殊要求,只需要将默认文件名的配置文件置于src目录下(web程序还可以放在WEB-INF下面)。
对于单机程序,打包后配置文件会同class一起打到jar中,不利于通过修改配置来改变日志记录方式。
我们可以在项目中建立文件夹conf来放置配置文件,然后程序启动时采用以下方式来告诉log4j配置文件的路径
- //------程序初始化阶段----
- //读取配置
- String currentDir = System.getProperty("user.dir");
- PropertyConfigurator.configure(currentDir+"/conf/log4j.properties");
- //如果是xml配置
- //DOMConfigurator.configure(currentDir+"/conf/log4j.xml");
- //此外还可以调用configureAndWatch监听配置的变动并重新加载。
- //-----log调用-------
- Log dbLog = LogFactory.getLog("dbLog");
- if(dbLog.isErrorEnabled()){ // 先判断log级别再调用,减少不必要的代码执行。
- dbLog.error("test db log");
- }