我想在一个日志文件中添加异常,在我的源代码中下列代码被多次使用。。。我想将所有异常存储在一个文件中,但它会创建多个文件,如exception.log、exception.log.1、exception.log.1.lck、exception.log.2等等。。。
Date dir1 = new java.util.Date(System.currentTimeMillis());
String baseDir1 = "/home/gaurav/usr/logs/ESBegin/";
String newDir1 = createDateBasedDirectory(baseDir1, dir1);
System.out.println("Exception :: " + e.getMessage());
Logger logger = Logger.getLogger("MyLog");
FileHandler fh;
try {
// This block configure the logger with handler and formatter
fh = new FileHandler(newDir1+"/exception.log");
logger.addHandler(fh);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
// the following statement is used to log any messages
logger.info(e.getMessage());
} catch (SecurityException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
1条答案
按热度按时间eeq64g8w1#
这是因为每次调用该方法时都会创建一个新的filehandler,而不是将其作为类示例变量。我测试了它,它工作了:
你的代码是这样的:
这会创建尽可能多的文件
test()
方法。