C#

【C#】.NET CoreでNLogを使ってロギングする【Visual Studio】

Visual Studio + NLogの記事が見当たらなかったのでまとめてみました。

  • Windows 10
  • Visual Studio Community 2019
  • .Net Core 3.1

プロジェクト作成

今回使用するプロジェクトの概要はこのようになっています。

  • .Net Core
  • 言語: C#
  • 種類: コンソールアプリ
  • プロジェクト名: NLogTest

NLog

おおまかな流れ

  1. NLogのインストール
  2. NLog.configを手動で作成
  3. NLog.configのプロパティの設定

      NuGetからインストール

      .NetCoreではNLog.Extensions.Loggingを使用します。

      1. プロジェクト 右クリック → NuGetパッケージの管理


      2. 参照 → NLog検索 → NLog.Extensions.Logging → インストール

      3. OK

      4. 同意する

      5. NLogのインストール完了

      NLog.configファイル作成

      1. プロジェクト(NLogTest) 右クリック → 追加 → 新しい項目

      2. テキストファイル → [NLog.config]と入力 → 追加

      3. NLog.onfigファイルに設定を書き込む

        <?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="logfile" xsi:type="File" fileName="app.log" />
            </targets>
        
            <rules>
                <logger name="*" minlevel="Debug" writeTo="logfile" />
            </rules>
        </nlog>

      NLog.configの設定

      実行ファイルが出力されるフォルダにコピーされるように設定します。

      1. NLog.configをクリック
      2. 出力ディレクトリにコピー: 常にコピーする

      プログラム

      おおまかな流れ

      1. loggerインスタンスを作成
      2. ログレベルを指定してメッセージを記述

      using NLog;
      
      namespace NLogTest
      {
          class Program
          {
              private static Logger logger = LogManager.GetCurrentClassLogger();
      
              static void Main(string[] args)
              {
                  logger.Trace("trace");
                  logger.Debug("debug");
                  logger.Info("info");
                  logger.Warn("warn");
                  logger.Error("error");
                  logger.Fatal("fatal");
              }
          }
      }

      実行

      NLogTest\NLogTest\bin\Debug(/Release)\netcoreapp3.1にapp.logというファイルが作成されているかと思います。



      NLog.onfigでminlevel=”Debug”としているため11行目は出力されていません