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

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

関連記事

ASP.NETのMVCとは?入門者向けの概要説明やHelloWorld

<目次> (1) ASP.NETのMVCとは?入門者向けの概要説明やHelloWorld  (1-1) ASP.NET MVC5とは?  (1-2) MVCのアーキテクチャ概要  (1-3) ASP. …

no image

C#でコンソールにパスワード入力する際のマスキング処理の実装例のご紹介

  <目次> (1) C#でコンソールにパスワード入力する際のマスキング処理の実装例のご紹介  (1-1) 構文  (1-2) サンプルプログラム (1) C#でコンソールにパスワード入力す …

C#のintに?「はてな」(question mark)が付いている意味について

<目次> (1) C#のintに?「はてな」(question mark)が付いている意味について  (1-1) 「int?」とは?  (1-2) 「int?」の型について  (1-3) 「int?」 …

C#のデリゲートが分からない・・を解決!初心者向けになるべく分かり易く説明してみた

<目次> (1) C#のデリゲートが分からない・・を解決!初心者向けになるべく分かり易く説明してみた  (1-1) デリゲートとは?「関数へのポインタ」だけでは説明しきれない・・  (1-2) デリゲ …

C#のvarの使いどころは?初めての方に向けてサンプルプログラムを使ってご紹介

<目次> (1) C#のvarの使いどころは?初めての方に向けてサンプルプログラムを使ってご紹介  (1-1) ArrayListに異なるデータ型が混在しているパターン  (1-2) LINQのクエリ …

  • English (United States)
  • 日本語
Top