NLogでLog Parser Studioを使う

準備することは以下の通り。
1. ログフォーマットをCSVにする
2. 出力ファイルにヘッダを付けておく

1. ログフォーマットをCSVにする
NLogで作成されたログファイルをLog Parser Studio(LPS)で読み込むために、ファイルはCSV形式にしておく。
Nlog.configは以下の通り。layout部分の設定がCSV形式となる。

<targets>
    <target xsi:type="File" name="logfile" fileName="./logs/${shortdate}.log"
        encoding="UTF-8"
        archiveFileName="${basedir}/logs/archives/archive.{#}.log"
        archiveEvery="Day"
        archiveNumbering="Rolling"
        maxArchiveFiles="7"
        layout="${longdate},${uppercase:${level}},${callsite},${callsite-linenumber},${message}" />


2. 出力ファイルにヘッダを付けておく
$(shortdate).logを作成する。(ex. 2020-07-23.log)を作成し、ヘッダに
「date, level, class, line, message」とか記載しておく。

プログラムを実行すると、ログは以下の通りとなる。
2020-07-23 17:44:41.2477,DEBUG,WebMVC.Controllers.HomeController.Index,17,debug log message
2020-07-23 17:44:41.2717,INFO,WebMVC.Controllers.HomeController.Index,18,info log message
2020-07-23 17:44:41.2717,WARN,WebMVC.Controllers.HomeController.Index,19,warn log message
2020-07-23 17:44:41.2797,ERROR,WebMVC.Controllers.HomeController.Index,20,error log message
2020-07-23 17:44:41.2797,FATAL,WebMVC.Controllers.HomeController.Index,21,fatal log message

これをLPSで読み込む。
まず、LPSの起動

















起動すると、最初からたくさんのクエリが用意されているのでとりあえず「ActiveSync Report [Top20]」を選択する。

Log Typeで「CSVLOG」を選択
"!"ボタンを押下すると以下のような結果が出力される。

















Queryを実行
クエリ欄で適当にクエリを実行してみると、ちゃんと検索できる。便利だ。










(参考)







コメント

このブログの人気の投稿

ソリューション構成ごとにconfigファイルを作成する

C++の古いプロジェクトのビルドでerror MIDL2311 : statements outside library block are illegal in mktyplib compatability mode

web.config debug/releaseの内容を変換構文を使って切り替える