gpt4 book ai didi

c# - .net 标准 1.3 项目中的 log4net 配置

转载 作者:行者123 更新时间:2023-12-03 20:29:17 27 4
gpt4 key购买 nike

我正在尝试将 c# 项目从 .net framework v4.6 迁移到 .net 标准。
该项目具有 log4net v2.0.8 依赖项。

我找到了这个 SO anwser ,推荐使用 .net 标准 1.3 并引用 this post以获得更详细的解决方案。

使用XmlConfigurator.Configure配置log4net时出现问题方法,需要 ILoggerRepository作为第一个论点。

在帖子中 LogManager.GetRepository(Assembly.GetEntryAssembly())使用的方法,但 Assembly.GetEntryAssembly()not supported在 .net 标准 1.3 中。

Official documentation也坏了,因为XmlConfigurator.Configure方法签名和它的示例用法不匹配。

那么,如何在 .net 标准 1.3 项目中配置 log4net?

最佳答案

在您的 .NET Standard 1.3 类库项目中,提供 Assembly处理 Log4net 的方法签名中的参数配置,例如:

public static void Configure(Assembly assembly)
{
ILoggerRepository repository = LogManager.GetRepository(assembly);
XmlConfigurator.Configure(repository, new FileInfo("log4net.config"));

// ...
}

从您的实际应用程序调用此方法,在完整的 .NET Framework 或 .NET Core 中开发,并传入此 Assembly参数通过例如: Assembly.GetEntryAssembly() .
Assembly.GetEntryAssembly()完整的 .NET Framework 和 .NET Core 都支持。

关于c# - .net 标准 1.3 项目中的 log4net 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53500512/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com