.net log4net:在进程之间同步文件写入

.net log4net:在进程之间同步文件写入,.net,log4net,.net,Log4net,我有一个控制台应用程序,它将日志写入一个指定的日志文件。程序会进行一些(长时间)的批处理精化,当精化仍在进行时,可能会再次调用它(因此两个进程编写相同的文件)。 我有一个RollingFileAppender,一切正常(我使用进程间锁),直到滚动时,当它发生时,我有一个异常。我读到这是正常的,因为log4net不能确保RollingFileAppender中的“进程同步”。 我怎样才能解决这个问题? 提前感谢。是否可以让每个进程写入自己的文件?试图解决两个log4net进程写入同一个日志文件的问

我有一个控制台应用程序,它将日志写入一个指定的日志文件。程序会进行一些(长时间)的批处理精化,当精化仍在进行时,可能会再次调用它(因此两个进程编写相同的文件)。 我有一个RollingFileAppender,一切正常(我使用进程间锁),直到滚动时,当它发生时,我有一个异常。我读到这是正常的,因为log4net不能确保RollingFileAppender中的“进程同步”。 我怎样才能解决这个问题?
提前感谢。

是否可以让每个进程写入自己的文件?试图解决两个log4net进程写入同一个日志文件的问题将是相当困难的。现在我们仍然让每个进程编写自己的日志文件,但这对于日志分析来说是相当痛苦的。如果有一个好的智能日志加入器,这可能是一种可能性……那么切换到非平面文件的日志格式,可能是SQLite数据库或windows事件日志中的自定义事件类别如何?(自定义windows事件类别是我在log4net项目中使用的解决方案,我必须在其中解决与您相同的问题)这些都是很好的解决方案,但我必须有日志文本文件,因为每天有两次另一个应用程序读取日志文件以进行监视。我们正在工作(内部,很抱歉,无法共享代码)在这种方法中,log4net写入消息队列,然后由后台进程读取队列并写入文件。