在log4j API中的FileAppender中存在疑问

时间:2009-02-04 06:12:59

标签: java logging log4j

我创建了java程序,它将处理进入特定文件夹的不同文件。在我的程序中,我需要为每个传入文件创建日志文件,以记录该文件的异常。我已经使用了以下代码。我面临的问题是第一个文件,它创建日志文件和记录异常。当第二个文件文件到来时,它会创建单独的日志文件并记录第二个文件的异常,同时它会记录第二个文件的异常以及第一个文件的日志文件中的第一个文件异常。我不想将第二个文件的异常附加到第一个文件的日志文件中。怎么做?

private Appender myAppender;
private Logger logger = Logger.getLogger(ConfigFileReader.class.getName());

//filename is dynamic based on the incoming file
myAppender = new FileAppender(new AppXMLLayout(),filename+".log",true);
logger.addAppender(myAppender);

1 个答案:

答案 0 :(得分:5)

为新文件添加appender时,需要使用removeAppender删除早期文件的appender。简而言之,一旦您处理完第一个文件就会删除appender。