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}" />
<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
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を実行
クエリ欄で適当にクエリを実行してみると、ちゃんと検索できる。便利だ。
(参考)
→LogParserの使い方
コメント
コメントを投稿