2

我已经下载并安装了 NuGet 包 NLog。我按照教程,选择通过代码进行配置,如下:

public static void ConfigureLogger()
{
    var config = new NLog.Config.LoggingConfiguration();

    // target where to log to
    string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
    var logfile = new NLog.Targets.FileTarget("logfile") { FileName = path + @"\log.txt" };
    var logconsole = new NLog.Targets.ConsoleTarget("logconsole");

    // rules for mapping loggers to targets
    // minimum and maximum log levels for logging targets
    config.AddRule(NLog.LogLevel.Info, NLog.LogLevel.Fatal, logconsole);
    config.AddRule(NLog.LogLevel.Info, NLog.LogLevel.Fatal, logfile);

    // apply config
    NLog.LogManager.Configuration = config;
}

按照教程中的建议,在应用程序代码中,每个类都有自己的实例:

private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();

我发现它没有将文本文件写入指定的目录。我已阅读一些故障排除建议,但找不到文件“NLog.config”。

4

1 回答 1

1

您使用的是 .net 核心吗?在 .net 和 .net 核心上,您需要这里为 nlog 引用的内容:

https://github.com/NLog/NLog/wiki/Getting-started-with-ASP.NET-Core-3

在项目的根目录中创建 nlog.config(全部小写)文件。

所以你没有发现,因为你还没有创建它。还有更多的事情要做。

在您的代码配置中,您需要在某处执行该函数。您是从 Startup.cs 还是根据平台的任何其他入口点调用它?

于 2020-02-13T06:00:50.847 回答