最新版の NLog は例外ログを改善し、JSON/Zip をサポートした

.NET 向けのオープンソースのログツールである NLog のバージョン4.0がリリースされた。本リリースではいくつかの領域に注力している。大きな点は例外ログ処理実行時に破壊的変更が加えられた点だ。最新バージョンではすべてのログメソッドにException型のオプションパラメータが含まれる。

Error(Exception exception, string message, params object[] args)

条件付きログはLogger.ConditionalTrace()をもちいて紹介されており、DEBUG設定が有効なコンパイル時に利用される。設定が有効でない場合、ログ処理はコンパイル時に削除されパフォーマンスが改善される。

新機能である zip アーカイブファイルがログ出力先として追加され、zip ファイルにログ情報を格納可能となる。本機能を利用するためには .NET 4.5 以上のバージョンが必要となる。本機能は既存の出力先であるコンソール、イベントログ、メール、データベースやASP.NET トレースに加わる。

他の機能の概要は以下となる。

  • 拡張機能の自動読み込み
  • AllEventProperties レイアウト描画
  • LoggingRule である final の挙動 (破壊的変更)
  • 新しい Eventlog.EntryType
  • 多数のバグ修正

NLog はオープンソースである BSD ライセンスであり、GitHub 上で公開されており NuGet から利用可能だ。NLog の代替として有名なのは Apache プロジェクトの Log4Net だ。Log4Netの最新バージョンである (1.2.13 は 2013年にリリースされている点に注意が必要だ。StackOverflowにて二つのログツールを比較したものが存在している。