.net column

.NET開発者のためのブログメディア
Webシステム制作

【.NET Frameworkのログ出力】C#のNLogを使ってログを出力する方法

2020年04月09日

アプリケーション開発を行う上で、ログの出力を考慮して設計することは、エンジニアの基本です。ログを出力しているとエラーが発生した場合に、エラー内容を知るのにとても役立ちます。ここでは、C#でログを出力する方法について、NLogの操作方法を中心に紹介します。

PG
C#でログを出力するための実装方法を詳しく教えてください!
PM
C#では「NLog」というライブラリを使用して、ログ出力のコーディングを行います。そんなに難しくもないので、ライブラリの導入方法やコーディング方法などをこれから確認していきましょう。

NLogの導入と設定方法を確認

まずはNLogライブラリを導入します。今回使用するVisual Studioのバージョンは、Visual Studio Community 2017です。.NET Frameworkのバージョンは、4.6になります。

  1. NugetからNLogをインストールしましょう。
  2. ソリューションエクスプローラーから「各々作成したプロジェクト名」で右クリック→「Nugetパッケージの管理」→「参照」タブ→検索フィールドにNLogと入力します。
    表示されたことを確認して、インストールボタンを押下します。

    NLogインストールの実行

  3. ソリューションエクスプローラーに戻り、参照にNLogが追加されていることを確認しましょう。確認ができれば導入は成功です。

次にNLogの設定を行います。各々のソリューションエクスプローラー内にProgram.csがあらかじめ準備されていると思います。そこにNLogの初期設定を追加していきましょう。

C#でNLogを使用するためには、プログラム上部でusing NLog;、using NLog.Config;、using NLog.Targets;命令がそれぞれ必要です。これをしないとシンタックスエラーの表示が消えないので、はじめに必ず設定しておきましょう。

C#のサンプルソースでNLogの使用方法を確認

ここでは、C#プログラムでNLogを実際に使用するコーディング方法を確認していきます。

実行画面
ボタンを押下します。
実行画面ボタン

出力ログ参照
出力ログの確認

ログファイルの内容

2019-12-12 10:19:37.2024 [ 1] [INFO ] WindowsFormsApp18.Form1.button1_Click() – スタート
2019-12-12 10:19:37.2672 [ 1] [ERROR] WindowsFormsApp18.Form1.button1_Click() – ゼロ割エラーが起きましたSystem.DivideByZeroException: 0 で除算しようとしました。
場所 WindowsFormsApp18.Form1.button1_Click(Object sender, EventArgs e) 場所 C:\Users\XXXXXX\source\repos\WindowsFormsApp18\WindowsFormsApp18\Form1.cs:行 25
PG
ログの出力って開発者にとっては、非常にありがたいツールですよね。私もテスト実行する時には積極的に使用していきます。
PM
上手に活用できれば、開発工数やテスト工数の削減にもつながります。工数削減できれば、きっとリーダーや上司の評価も上がりますよ。

NLogを活用できるかは使うプログラマー次第

NLogは上手に活用できればプログラムのテストを行う際に、とても役立つツールとなることがお分かりいただけたかと思います。エラーの際にはログを出力する設計を取り入れて、ワンランク上のプログラマーを目指しましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)