.net - 在log4net中,如何仅调用一次Config.XmlConfigurator以获得解决方案?

标签 .net log4net log4net-configuration

我刚刚开始使用 log4net。要读取 XML 配置文件,据我了解,您必须将以下内容放入项目的 AssemblyInfo 文件中:

<Assembly: log4net.Config.XmlConfigurator(ConfigFile:="Log4net.Config", Watch:=True)> 

我有一个包含多个项目的解决方案,似乎我必须将此语句放入解决方案中的每个 AssemblyInfo 文件中(每个项目一个)。我尝试将语句放入 Startup 项目的 AssemblyInfo 中,但在其他项目中记录调用将不起作用。我必须在每个进行日志记录调用的项目中包含该语句。

1) 有没有一种方法可以在一个地方一次性调用整个解决方案的 Config.XmlConfigurator?

2) 是什么导致了我所看到的行为?

最佳答案

您应该将其放置在“托管”您的解决方案的程序集中。在编译为“.exe”的程序集中的 console/winform/wpf 应用程序中,在 Web 应用程序中,我通常在 Application-Start 事件中显式调用 XmlConfigurator.Configure(); 。 p>

关于.net - 在log4net中,如何仅调用一次Config.XmlConfigurator以获得解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6267832/

相关文章:

C# 依赖注入(inject)示例

.net - .net 中的无锁结构

c# - 保存字符串中的重复值

c# - MEF - 导出和导入通用类型

powershell - 如何在 PowerShell 自定义 PSObject 上使用 GetType().GetProperties()?

c# - 使用 log4net 捕获用户名

log4net - 是否可以使用 log4net 写入文件夹中包含的事件日志?

asp.net-web-api - WebApi 2.1 上的 log4net 使用 ExceptionLogger

c# - 以编程方式设置文件名时,带有 MinimalLock 锁定模型的 log4net 不起作用

c# - Log4net 以编程方式配置 adoAppender