两个 log4j fileappenders 可以写入同一个文件吗?

rip*_*234 5 log4j appender fileappender

暂时忘记您为什么要这样做的问题 - 如果出于某种原因,两个 FileAppender 配置了相同的文件 - 这个设置会起作用吗?

Mar*_*off 0

它不会直接回答您的问题,但 log4*net* 的 FileAppender 有一个 LockingModel 属性,您可以将其设置为仅在文件实际使用时锁定。因此,如果您有两个 FileAppender 在设置了 MinimalLock 的同一个线程中工作,那么它可能会工作得很好。在不同的线程上,您可能偶尔会遇到死锁。

FileAppender 通过 LockingModel 属性支持可插入文件锁定模型。由 FileAppender.ExclusiveLock 实现的默认行为是获取文件上的独占写入锁定,直到关闭此附加程序。替代模型 FileAppender.MinimalLock 仅在附加程序写入日志记录事件时持有写入锁。

粗略的网络搜索没有找到任何关于在 log4j 中实现 MinimalLock 的有用结果。