在使用Log4j的时候经常会因为没有在计算机上创建好properties中配置的文件路径导致运行错误,如果log4j可以自动创建文件夹就可以避免。查了网上好多说法,说log4j1.2.9以后版本就支持自动创建,但我换了好几个版本都还不行。
在网上搜索下,知道可以通过集成FileAppender,重写一个子类,在子类中进行文件路径的创建。
我的log4j.properties中主要配置如下
这样,在工程启动的时候就会创建文件夹,从而不会报错了。
在网上搜索下,知道可以通过集成FileAppender,重写一个子类,在子类中进行文件路径的创建。
我的log4j.properties中主要配置如下
log4j.appender.R = com.xr.util.MyDailyRollingFileAppender
log4j.appender.R.File = ./logs/clwx.log
public class MyDailyRollingFileAppender extends DailyRollingFileAppender {
@Override
public void setFile(String file) {
String filePath = file;
File fileCheck = new File(filePath);
if (!fileCheck.exists())
fileCheck.getParentFile().mkdirs();
super.setFile(filePath);
}
}
这样,在工程启动的时候就会创建文件夹,从而不会报错了。