log4j java集群环境下多jvm 日志日期文件夹无法创建
同一个java应用,单个服务器多jvm节点
项目背景
1.使用log4j-1.2.5 版本
2.自动根据日期创建文件夹 每晚24:00后自动创建下一天文件夹
3.每台应服务器上部署两个JVM节点
错误信息
setFile XXXX called failed
当天24:00过后,下一天的文件夹未创建
源码分析
class类
org.apache.log4j.FileAppend
方法
setFile()
代码,反编译出来的代码,可能会有偏差
try{
***
***
}catch(FileNotFoundException ex){
String parentName= new File(fileName).getParent();
if(parentName != null){
File parentFile = new FIle(parentName );
if( !parentFile.exists() && parentFile .mkdir() ){
***
}else{
throw ex;
}
}
}
错误分析