我在我的项目中面临一个奇怪的问题。有一个解决方案说S1。在解决方案中有一个biztalk项目说P1和一个帮助库项目。在帮助库项目中我们有一个用于创建日志的类文件。 现在又有一个解决方案说S2。在这个解决方案中,我们还有两个biztalk项目。分别说P2和P3这些biztalk项目参考了之前的项目以及帮助库。 现在问题是我能够为P2项目创建日志,但不能为P3项目创建日志。
任何人都可以指导我为什么会发生这种情况吗?
提前完成。
答案 0 :(得分:0)
我猜您正在登录同一个文件。如果是这样,最好的解决方案是写入不同的文件。另一种选择是在日志文件上使用不同的锁定模型。
此示例显示如何配置appender以使用允许多个进程写入同一文件的最小锁定模型。
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="${TMP}\log-file.txt" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
此示例显示如何配置appender以使用“进程间”锁定模型。确保所有记录器都使用相同的锁定模型。
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="${TMP}\log-file.txt" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+InterProcessLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>