我正在使用JUL进行日志记录(不,我不能改变它)。我开发了一个简单的包装器,它传递参数,并且每次都以正确的格式创建FileHandler,这样我就不必在每个项目中重新创建日志记录。Java FileHandler将不需要的数字添加到文件名
我的测试应用程序的功能与预期完全一样,但是当我将库导入其他项目时,我似乎正在获得一个(迄今为止只有一个)唯一错误:每次都会在末尾添加一个“.0”的日志文件。
它甚至在没有冲突的情况下执行此操作,并且Filehandler已被配置为将现有文件附加到最后(它没有问题)。我玩过各种文件名,最近我一直在使用简单的“mylog.log”,日志文件仍然以“mylog.log.0”的形式输出。我已经检查并且fileHandler正在传递正确的文件(“mylog.log”),但它不会在那里记录。
这不会发生在我的测井测试中,只发生在我真正想要使用它的项目中。即使使用完全相同的参数,我也会得到不同的文件名。
有没有关于JUL的一些古怪,我错过了?代码非常简单。培训相关代码:
String logFilePath = directory+name; // directory and name are method arguments
Handler newFileHandler;
File dirFile = new File(directory);
if(!dirFile.exists())
{
dirFile.mkdirs();
}
newFileHandler = new FileHandler(logFilePath, true);
newFileHandler.setFormatter(myformatter);
//... etc