.NET CoreでNLogを使用してログ出力をしてみる

csharp C#

この記事の内容

この記事では、.NET CoreにてNLogを使用してログ出力する方法を紹介します。

.NET Coreは、3.1を使用しています。

また、Console Applicationにて確認を行っています。

事前準備

Console Applicationを作成し、NuGetから以下をインストールします。

  • NLog
  • NLog.Config

ログ出力方法

今回は、コンソール上とファイルに出力を行っていきます。

NLogの設定ファイルであるNLog.configを以下の内容にします。

<?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"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
>

<targets>
<target name="logfile" xsi:type="File" fileName="LogFile.log" />
<target name="logconsole" xsi:type="Console" />
</targets>

<rules>
<logger name="*" minlevel="Debug" writeTo="logconsole" />
<logger name="*" minlevel="Debug" writeTo="logfile" />
</rules>
</nlog>

出力するプログラムは以下の通りです。

using NLog;

namespace LogTestApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Logger logger = LogManager.GetCurrentClassLogger();
            
            logger.Debug("level is debug");
            logger.Info("level is info");
            logger.Warn("level is warn");
            logger.Error("level is error");
        }
    }
}

出力結果

コンソール上および、ログファイルに以下の内容が出力されます。

2020-10-18 12:27:56.7746|DEBUG|LogTestApp.Program|level is debug
2020-10-18 12:27:56.8588|INFO|LogTestApp.Program|level is info
2020-10-18 12:27:56.8777|WARN|LogTestApp.Program|level is warn
2020-10-18 12:27:56.8945|ERROR|LogTestApp.Program|level is error

設定ファイルにて、出力するログレベルや、ログ出力内容のカスタマイズも可能です。

ここでは、基本的なNLogの使い方について解説しました。

コメント