Log4net 可以在新创建的 AppDomain 中运行吗

Posted

技术标签:

【中文标题】Log4net 可以在新创建的 AppDomain 中运行吗【英文标题】:Can Log4net run in a newly created AppDomain 【发布时间】:2010-09-20 09:36:06 【问题描述】:

我有一个在新的 AppDomain 中执行代码片段的 Windows 服务。创建此 AppDomain 仅用于执行这段代码,然后将其销毁。我使用 log4net 进行日志记录,因为我喜欢它的简单性和灵活性。它在默认的 AppDomain 中运行良好,但不会记录新创建的 AppDomain 中的日志记录语句。这是 log4net 中的限制还是只是我没有正确设置它。

【问题讨论】:

【参考方案1】:

我认为这应该可行,但您需要为新的 AppDomain 初始化 log4net。如果您登录到文件,您可能会遇到锁定问题。

另请参阅question。

【讨论】:

其实你是对的。由于两个记录器都将写入同一个文件,这肯定会导致锁定问题。我已经仔细阅读了该链接,我会尝试一下,看看会发生什么。

以上是关于Log4net 可以在新创建的 AppDomain 中运行吗的主要内容,如果未能解决你的问题,请参考以下文章

无法在新的 AppDomain 中创建 UserControl

在新的 AppDomain 中加载插件

在新的 appdomain 中加载 C 模块失败

无法在新的 appDomain 中加载程序集

C# 通过 AppDomain 应用程序域实现程序集动态卸载或加载

ApplicationManager.CreateObject 无法在新的 AppDomain 中加载程序集