📜  NLog 如何同时写入控制台和文件 (1)

📅  最后修改于: 2023-12-03 15:33:07.669000             🧑  作者: Mango

NLog 如何同时写入控制台和文件

NLog 是一个流行的 .NET 平台日志记录库,具有许多有用的功能,例如多个日志目标、过滤器、事件等级等。本文将介绍如何使用 NLog 记录日志时同时将日志写入控制台和文件。

步骤
1. 安装 NLog 包

使用 NuGet 包管理器或 dotnet CLI 安装 NLog 包:

dotnet add package NLog
2. 配置 NLog

在项目的根目录下添加一个名为 nlog.config 的 XML 文件,并配置日志记录器:

<?xml version="1.0" encoding="utf-8"?>

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <targets>
    <target name="console" xsi:type="Console" />
    <target name="file" xsi:type="File" fileName="logs/log.txt" />
  </targets>

  <rules>
    <logger name="*" minlevel="Trace" writeTo="console,file" />
  </rules>

</nlog>

上述配置定义了 2 个目标:控制台和文件。控制台目标使用 Console 类型,文件目标使用 File 类型,并将日志写入 logs/log.txt 文件。最后,在规则部分将所有日志写入到控制台和文件。

3. 配置 NLog 日志记录器

在代码中配置 NLog 日志记录器:

using System;
using NLog;

public class Program
{
    private static readonly ILogger logger = LogManager.GetCurrentClassLogger();

    public static void Main()
    {
        logger.Trace("trace message");
        logger.Debug("debug message");
        logger.Info("info message");
        logger.Warn("warn message");
        logger.Error("error message");
        logger.Fatal("fatal message");
    }
}

在上述代码中,我们使用 GetCurrentClassLogger() 方法获得一个 ILogger 实例,并使用它来记录不同级别的日志记录。

4. 运行应用程序

编译和运行应用程序,你将看到日志记录器同时将日志记录到控制台和文件中。

结论

使用 NLog 很容易同时将日志记录到控制台和文件中。只需简单的配置日志记录器并在代码中调用它即可。希望本文能够帮助你快速入门 NLog 日志记录库。