Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

C#

C#でNLogライブラリを用いてログ出力を行う方法

投稿日:2020年11月19日 更新日:

<目次>

(1) C#でNLogライブラリを用いてログ出力を行う方法
 (1-1) NLogの概要
 (1-2) NLogの導入手順
 (1-3) NLogの初期実装手順
 (1-4) NLogのサンプルプログラム

(1) C#でNLogライブラリを用いてログ出力を行う方法

(1-1) NLogの概要

NLogは.NET環境でログ出力するためのオープンソースのフレームワークで、log4netと比較して導入が簡単なのが特徴です。

ログレベルは6種類(Fatal、Error、Warn、Info、Debug、Trace)が設定可能で、ログの重要性に応じてレベルを使い分けます。

本記事ではNLogの導入手順および実際のサンプルプログラムをご紹介します。

目次にもどる

(1-2) NLogの導入手順

NLogを使うためにはライブラリの導入を行います。

(1-2-1) Nlogライブラリのダウンロード

今回はVisual StudioのNuGet Package Managerを用いてダウンロードしていきます。

①Nugetパッケージマネージャーを開く
ソリューションを開いた状態で、Visual Studioのメニュー「ツール」⇒「NuGetパッケージマネージャー」⇒「パッケージマネージャーコンソール」と選択します。
(図121)

②インストールコマンド実行
次のコマンドを実行してNlogを導入します。

Install-Package NLog.Config

(図122)①


(図122)②

③正常終了確認
「正常にインストールされました」のメッセージとともに、再びパッケージマネージャーが入力待ちの状態になったらインストール完了です。

(図123)

目次にもどる

(1-3) NLogの初期実装手順

NLogパッケージの導入が完了すると、プロジェクト配下に数個ファイルが追加されていると思いますが、まずはこの中の「nlog.config」にログ出力の設定を追記します。

①nlog.configの追記
(a) <targets>タグの配下に以下のコードを追加します。
(追記コード)

    <target name="file" xsi:type="File" fileName="C:\[ログ出力先パス]\NLog.log"
   layout="${longdate}|${message}"/>

    <target xsi:type="ColoredConsole" name="colored_console"/>
	
    <target name="console" xsi:type="Console"
       layout="${longdate}|${message}"/>

1つ目の<target>は「type=”File”」となっており、 ファイル形式でログを出力するための設定になります。
2つ目の<target>は「type=”ColoredConsole」で、cmdのコンソールに色つきのログ出力をするための設定です。
3つ目の<target>は「type=”Console”」となっており、cmdのコンソールにログ出力するための設定です。

(図131)

(b) <rules>タグの配下に以下のコードを追加します。
(追記コード)

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

この記述は「targetに定義した出力先のどれを有効化するか?」の設定になります。「writeTo=」で「file」と「colored_console」を指定しているため、この二種類のログが記録されます。

(図132)

②C#コードへの記述
C#側では「Logger」クラスのインスタンスを作成します。

Logger log = LogManager.GetCurrentClassLogger();

あとはその中で使える「Debug」や「Info」や「Error」などのログを出力するのみです。引数に任意のメッセージを与えます。

log.Debug("This is a debug message Rainbow");
log.Info("This is a info message Rainbow");
log.Error("This is a error message Rainbow");

(図133)

目次にもどる

(1-4) NLogの実行結果サンプル

上記の「初期実装手順」に沿って記述したサンプルプログラムと、その実行結果のサンプルをご紹介します。

(サンプルプログラム)

using NLog;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RP_IT0175_NlogTesting_ConsoleApp2
{
  class Program
  {
    static void Main(string[] args)
    {
      Logger log = LogManager.GetCurrentClassLogger();
      log.Debug("This is a debug message Rainbow");
      log.Info("This is a info message Rainbow");
      log.Error("This is a error message Rainbow");
    }
  }
}

(図141)実行結果
「colored_console」の結果は色つきのメッセージが表示される。

(図142)
「file」の結果は指定したパスにログファイルを生成します。

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-C#

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

C#で文字列の前に付いてるアットマーク「@」について

<目次> (1) C#で文字列の前に付いてるアットマーク「@」について  (1-1) 概要  (1-2) 主な用途  (1-3) 注意点 (1) C#で文字列の前に付いてるアットマーク「@」について …

ASP.NET MVCのルーティングの基本

<目次> (1) ASP.NET MVCのルーティングの基本  (1-1) 構文  (1-2) サンプルプログラム   ・RouteConfig.cs   ・Controller   ・View  ( …

C#のIEnumerableとは?使い方(foreachでの要素取り出し)を順を追って解説

<目次> (1) C#のIEnumerableとは?使い方(foreachでの要素取り出し)を順を追って解説  (1-1) IEnumerableとは?  (1-2) IEnumerableの実装の流 …

C#からDB接続でSQLServerに接続してSELECT文を実行する方法

<目次> (1) C#からDB接続する方法~SQLServerへの接続プログラム例もご紹介~  (1-1) 構文(DB接続)  (1-2) 構文(SELECT文発行)  (1-3) サンプルプログラム …

VisualStudioで文字列の検索をソリューション内やプロジェクト内で行う方法

<目次> (1) VisualStudioで文字列の検索をソリューション内やプロジェクト内で行う方法  (1-1) 検索方法   (1-1-1) 「検索と置換」画面を開く   (1-1-2) 検索条件 …

  • English (United States)
  • 日本語
Top