gpt4 book ai didi

c# - NLog 找不到或加载配置文件

转载 作者:太空狗 更新时间:2023-10-29 22:33:34 24 4
gpt4 key购买 nike

我正在编写一个应用程序并使用 Ninject 创建一个可用于创建 Nlog 记录器的日志记录工厂实例。我有自己的 Logger 类,它包装了 Nlog Logger 类

我有一个处理注入(inject)的 IOC 项目和一个托管 LoggerFactory 和 Logger 类的 Logging 项目。

我想要这样做的原因是让所有其他项目共享一个日志记录配置,而不是必须在每个项目中分别包含 Nlog dll 和配置。

所有构建和运行都很好,但是当 LoggerFactory 开始创建记录器时

public ILogger GetLogger<T>()
{
NLog.Logger nLogLogger = NLog.LogManager.GetLogger(typeof(T).ToString());

return new Logging.Logger(nLogLogger);
}

配置为 null,这表明 NLog.dll 未找到 NLog.config 文件。

NLog.LogManager.Configuration 

我已经按照说明将 NLog.config 命名为 NLog.dll.nlog 并复制到 bin 目录,我可以在 NLog.dll 旁边看到它

从 Nlog 文档来看,这应该足够了 http://nlog-project.org/wiki/Configuration_file但它没有被发现。 "NLog.dll.nlog在NLog.dll所在目录下"

我将 NLog.dll.nlog 文件标记为内容并将 copyToLocal 标记为 true。

感谢您的帮助尼尔

最佳答案

今天早上我设法让它工作

有两个正在运行的项目使用日志记录 - MVC 应用程序和 WEBAPI 应用程序。问题是在构建解决方案时,NLog.config 文件被复制到应用程序的 BIN 文件夹中。配置文件需要与 web.config 文件一起位于项目根目录中。

为了解决这个问题,我在 Logging 项目上创建了一个构建后事件,以将配置文件复制到 MVC 应用程序和 WEBAPI 应用程序的项目根目录。

现在日志记录工作正常。

关于c# - NLog 找不到或加载配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10801223/

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