在使用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
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);
- }
- }
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); } }
這樣,在工程啓動的時候就會創建文件夾,從而不會報錯了。