java - log4j API中FileAppender的疑问

标签 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);

最佳答案

当您为新文件添加附加程序时,您需要使用removeAppender 删除早期文件的附加程序。简而言之,一旦第一个文件的处理完成,请删除附加程序。

关于java - log4j API中FileAppender的疑问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/510254/

相关文章:

java - long 和 double 值的原子读写

java - 使用 Groovy 将文本拆分两次

java - 自动删除 JULI 日志文件

java - 从 SpringMVC Controller 记录

logging - 在 Apache Storm 中禁用 LocalCluster 日志记录

java - JMapViewer 添加图 block 以供离线查看

java - 将项目插入队列后,BlockingDeque 不会解除阻塞

python - 在 Sentry 中对 '.format()' 样式的日志消息进行分组

configuration - Log4J 1.2 和 Log4J 2.0 之间有什么主要区别吗?

java - Log4j模式,如何表示空格