NLogでスタックトレースをテキストのログへ出力するNLog.configの設定例

ロギングはずっとlog4netを使っていたのですが、さすがにこれ以上何も発展は無さそうなので、今後はNLogを使ってみようなどと考えています。

NLog

と言うことで、表題の通りスタックトレースを出力する設定例。あれこれ検索しつつ、ある程度思ったようなレイアウトになったのでメモ。2.0から追加されたonexceptionで無用な改行とか押さえられる感じに。




  
  
      
    
    
   
  

  
        
    
    
   
  

これで以下のような出力結果になります。

2013-10-09 16:36:46.9526 INFO  [TestService1.LogOut.<.ctor>b__0] **** Log Start *** 
2013-10-09 16:36:46.9526 ERROR [TestService1.Service1.OnStart] 無効な URI: 無効なポートが指定されています。 
 無効な URI: 無効なポートが指定されています。*System.UriFormatException*System.UriFormatException: 無効な URI: 無効なポートが指定されています。
   場所 System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
   場所 System.Uri..ctor(String uriString, UriKind uriKind)
   場所 System.Web.Http.SelfHost.HttpSelfHostConfiguration.CreateBaseAddress(String baseAddress)
   場所 System.Web.Http.SelfHost.HttpSelfHostConfiguration..ctor(String baseAddress)
   場所 TestService1.Service1.OnStart(String[] args) 場所 c:\Users\jptais1\Documents\Visual Studio 2012\Projects\ProcessHost\TestService1\Service1.cs:行 38

ちなみにNLogでは上のスタックトレース情報のようなExceptionオブジェクトをログに書き出す場合には、通常のメッセージだけの出力とは別の[Level]Exception(exp. ErrorException())メソッドを使用するので間違いないようにしましょう。

コメントを残す