【C#.NET】log4netを利用してエラーや監視したい値を記録してログ保存しよう。

C#.NET

【C#.NET】log4netを利用してエラーや監視したい値を記録してログ保存しよう。

Nugetパッケージ

log4netはNuGetパッケージでインストールします。

まずは、NuGetパッケージの管理を開きます。

nuget_ex

参照タブで検索欄に「log4net」と書き込み検索します。

log4net_nuget_search

上位にヒットしたlog4netを選択して、インストールボタンを押下してインストールします。

アンインストールも簡単にできます。

Nuget_log4net

参照の追加

log4netpageseem

 

configファイル作成

configファイルを作成します。名前はlog4net.configにしましたが、適当でOKです。

log4netconfig1

configファイルの内容

新規作成したconfigファイルの中身に下記のコードを書き込む。

Configファイルのプロパティ設定

log4net.configファイルのプロパティを設定します。

property_log4net

出力ディレクトリにコピーの項目を「新しい場合はコピーする」または、「常にコピーする」に設定します。

AssemblyInfo.csに追記

Propertiesの配下にあるAssmblyInfo.csの中身に下記のコードを追記します。

AssemblyInfo.cs

assemblyInfo_1

※ConfigFile = “(configファイル名)”

ログ出力

ログを出力させる

loge4net_code1

まずは、定義を作成します。

今回は以下の画面設定でつくってみました。

log4net_design

ログ出力してみます。

ソースコード↓

 

 

 

結果

logfile

実行すると、logファイルが作成されます。logフォルダの中に

logdate_file

logファイルが作成されていきます。

今回は日付毎にログファイルが作成されるようにconfigファイルで設定しました。

log4net_gamen_ex

TextBox1に12.5、

TextBox2に7.3、を入力して

TextBox3に19.8を出力させるbutton1を押下したとき、

ログファイルに下記の様にログ出力されます。

log4net_log_value

操作した日時、入力した値等が見れます。

logの区切りレベル

  • Fatal システム停止するような致命的な障害レベル
  • Error システム停止はしないが、問題となる障害レベル
  • Warn 障害ではない注意警告レベル
  • Info 操作ログなどの情報レベル
  • Debug 開発用のデバッグメッセージレベル
  • trace 詳細なデバッグの出力レベル

それぞれのレベル毎にログファイルを出力したりもできる。