.net Core 3.1 の NLogではまった… その1
その1:https://deathmarchdaily.blogspot.com/2020/06/net-core-31-nlog.html
その2:https://deathmarchdaily.blogspot.com/2020/06/net-core-31-nlog-2.html
その3:https://deathmarchdaily.blogspot.com/2020/06/net-core-31-nlog-3.html
.netCore3.1 を使って初のアプリケーションを作成しているが、いきなりはまった…
NLog でログ出力するが、ファイルに出力されるが、VS出力ウィンドウに表示されない…
とりあえず結論! 下記の様に「xsi:type="Debugger"」を使うべし!
これに気づくまで半日以上かかったよ…orz
ASP.net の記述はいっぱいあるし、過去の記述はいっぱいあったが、全部不発…何が悪かったのか…
【てか、.net Core と ASP.net Core は違うんだからどう検索して良いかわからんわ!】「-ASP」って入れればええんか…
config の設定系は ここを見て試していくしかないかね…(ターゲット、レイアウト、レイアウト用バインド変数があるから試すしかない!)
https://nlog-project.org/config/
以下手順:
1.各パッケージをインストール
・NLog (v4.7.2)
・NLog.Config (v4.7.2)
(ちなみに:「NLog.Extensions.Logging」と「Microsoft.Extensions.Logging.Console」を使えっていうところもあるけど、使わなくてもできた…正しい設定方法が全く分からん…)
2.NLog.config を記述する (NLog.Config をインストールしたら、勝手にファイルができるはず…)
ファイルが存在しない場合:
2.1. プロジェクト直下に NLog.config ファイルを作成する
2.2. プロパティを開き「出力ディレクトリにコピー」 を 「新しい場合にはコピーする」または「常にコピーする」に設定しておく。
コメントの!は自分で直してね
3.いつも通りにログ出力(MVVM はまだ苦手です…)
Entity Framework Core でSQLログが出ないのはまた別の話…orz
これも ASP.net Core ばかり出てきて…
検索用: .net Core 3.1 Window WPF ログ出力 デバッグウィンドウ 出力ウィンドウ ログが出ない 出ない 出力されない ASPじゃない 普通の.netCore NLog
その2:https://deathmarchdaily.blogspot.com/2020/06/net-core-31-nlog-2.html
その3:https://deathmarchdaily.blogspot.com/2020/06/net-core-31-nlog-3.html
.netCore3.1 を使って初のアプリケーションを作成しているが、いきなりはまった…
NLog でログ出力するが、ファイルに出力されるが、VS出力ウィンドウに表示されない…
とりあえず結論! 下記の様に「xsi:type="Debugger"」を使うべし!
<target xsi:type="Debugger" name="LogConsole" layout="${longdate} [${uppercase:${level:padding=-5}}] ${message} ${exception:format=Message, Type, ToString:separator=\r\n}" />
これに気づくまで半日以上かかったよ…orz
ASP.net の記述はいっぱいあるし、過去の記述はいっぱいあったが、全部不発…何が悪かったのか…
【てか、.net Core と ASP.net Core は違うんだからどう検索して良いかわからんわ!】「-ASP」って入れればええんか…
config の設定系は ここを見て試していくしかないかね…(ターゲット、レイアウト、レイアウト用バインド変数があるから試すしかない!)
https://nlog-project.org/config/
以下手順:
1.各パッケージをインストール
・NLog (v4.7.2)
・NLog.Config (v4.7.2)
(ちなみに:「NLog.Extensions.Logging」と「Microsoft.Extensions.Logging.Console」を使えっていうところもあるけど、使わなくてもできた…正しい設定方法が全く分からん…)
2.NLog.config を記述する (NLog.Config をインストールしたら、勝手にファイルができるはず…)
ファイルが存在しない場合:
2.1. プロジェクト直下に NLog.config ファイルを作成する
2.2. プロパティを開き「出力ディレクトリにコピー」 を 「新しい場合にはコピーする」または「常にコピーする」に設定しておく。
コメントの!は自分で直してね
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
autoReload="true"
throwExceptions="false"
internalLogLevel="Off" internalLogFile="${basedir}/logs/nlog-internal.log">
<targets async="true">
<!-- VS の出力ウィンドウに出すには Debugger に変わったらしい -->
<target xsi:type="Debugger" name="LogConsole" layout="${longdate} [${uppercase:${level:padding=-5}}] ${message} ${exception:format=Message, Type, ToString:separator=\r\n}" />
<!-- ファイル出力+ローテーション -->
<target
xsi:type="File"
name="LogFile"
fileName="${basedir}/logs/aiueo.log"
encoding="UTF-8"
lineEnding="CRLF"
archiveFileName="${basedir}/logs/aiueo_{#}.zip"
archiveEvery="Day"
archiveNumbering="DateAndSequence"
archiveDateFormat="yyyyMMdd"
archiveAboveSize="5242880"
maxArchiveFiles="10"
enableArchiveFileCompression="true"
layout="${longdate} [${threadid:padding=8}] [${uppercase:${level:padding=-5}}] ${message} ${exception:format=Message, Type, ToString:separator=\r\n}" />
</targets>
<rules>
<!-- ログ出力先の指定 -->
<logger name="*" minlevel="Debug" writeTo="LogConsole" />
<logger name="*" minlevel="Debug" writeTo="LogFile" />
</rules>
</nlog>
3.いつも通りにログ出力(MVVM はまだ苦手です…)
//フィールドに宣言して
private void Application_Startup(object sender, StartupEventArgs e)
{
try
{
// いつも通りに使う
Logger.Debug("デバッグ");
Logger.Info("インフォ");
Logger.Warn("ワーニング");
Logger.Error("エラー");
}
catch (Exception ex)
{
// 例外は第1引数
Logger.Error(ex, "例外発生");
}
}Entity Framework Core でSQLログが出ないのはまた別の話…orz
これも ASP.net Core ばかり出てきて…
検索用: .net Core 3.1 Window WPF ログ出力 デバッグウィンドウ 出力ウィンドウ ログが出ない 出ない 出力されない ASPじゃない 普通の.netCore NLog
コメント
コメントを投稿