NLog 找不到或加载配置文件

本文关键字:配置文件 加载 找不到 NLog | 更新日期: 2023-09-27 18:35:34

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

我有一个处理注入的 IOC 项目和一个托管 LoggerFactory 和 Logger 类的日志记录项目。

我想要这样做的原因是让所有其他项目共享一个日志记录配置,而不必在每个项目中分别包含 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。

感谢您的任何帮助尼尔

NLog 找不到或加载配置文件

我今天早上设法让它工作

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

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

日志记录现在工作正常。