簡単なログラックボックス、永続的なログは、照会する場合は、アクセスすることは容易ではない、実行しているselfhostときAsp.netコア、内蔵のログは、コンソール出力で、あります。
NLogは、この論文ではasp.net下部コアNLogを使用する方法を示し、.NETプラットフォームの下にログフレームワークに特化した、無料のロギングフレームワークです。
まず、Nuget NLog.Web.AspNetCore NLog.Extensions.Loggingと2つのライブラリーを装着することもできます。
publishOptionsに「nlog.configノード」を追加し、project.jsonを変更
"publishOptions":{
"含めます":[
"wwwrootの"、
"** / *。CSHTML"、
"appsettings.json"、
"web.configファイル"、
"nlog.config"
]
}
StartUp.csに追加
公共のボイドConfigureServices(IServiceCollectionサービス)
{
//フレームワークサービスを追加します。
services.AddMvc();
// NLog.webにHttpContextAccessorを注入
services.AddSingleton();
......
}
公共の無効設定(IApplicationBuilderアプリ、IHostingEnvironment ENV、ILoggerFactory loggerFactory)
{
//コアフレームワークを.NETにNLogを追加
loggerFactory.AddNLog();
// NLogミドルウェアを追加
app.AddNLogWeb();
// NLogプロファイルを指定します
env.ConfigureNLog( "nlog.config");
......
}
HomeController.csカスタムログです
静的ロガーロガー= LogManager.GetCurrentClassLogger()。
公共IActionResultインデックス()
{
Logger.Info(「一般的な情報ログ」)。
Logger.Debug(「デバッグログ」)。
Logger.Error(「エラーログ」)。
Logger.Fatal( "異常ログ");
Logger.Warn(「アラート・ログ」)。
Logger.Trace(「トレースログ」)。
Logger.Log(NLog.LogLevel.Warn、 "ログ日志");
試します
{
int型私= 0;
= 10 / iがあります。
}
キャッチ(例外EXC)
{
//例外ログ
Logger.Fatal(EXC、exc.Message)。
}
ビューを返します();
}
NLog.configは、2つのログ・レコードはCである:\ tempに、1は、すべてのログのNLog機能により、独自のログレコードです。ログライブラリ例外場合は、Cに生成されます:\内部nlog.txt下\ tempに、
xmlns:XSI = "http://www.w3.org/2001/XMLSchema-instance"
自動再= "true" を
internalLogLevelは= "警告します"
internalLogFile = "C:\ TEMP \内部nlog.txt">
レイアウト= "$ {longdate} | $ {イベントプロパティ:商品= EventId.Id} | $ {ロガー} | $ {大文字:$ {レベル}} | $ {メッセージ} $ {例外}" />
レイアウト= "$ {longdate} | $ {イベントプロパティ:商品= EventId.Id} | $ {ロガー} | $ {大文字:$ {レベル}} | $ {メッセージ} $ {例外} | URL:$ {ASPNET -request-URL} |アクション:$ {ASPNET-MVC-アクション}」/>
レイアウトデータは、彼らのニーズに応じて、ログデータを保存することを選択し、ログの$の内容に書き込まれます。
あなたは、データベースのログを保存したい場合は、NLog.configを置くことができ、次のように改正:
xmlns:XSI = "http://www.w3.org/2001/XMLSchema-instance"
自動再= "true" を
internalLogLevelは= "警告します"
internalLogFile = "C:\ TEMP \内部nlog.txt">
INSERT INTO [DBO]。[NLog](
[MachineNameに】
[サイト名]、
[ログイン]、
[レベル]、無錫良い男性と病院http://www.zzchnk.com/
[ユーザー名]、
[メッセージ]、
[ロガー]、
[プロパティ]、
[ホスト]、
[コントローラ]、
[アクション]、
[URL]、
[呼び出し場所】
[例外]
)VALUES(
@machineName、
@サイト名、
@logged、
@レベル、
@Username、
@メッセージ、
@logger、
@properties、
@ホスト、
@コントローラ、
@アクション、
@url、
@callSite、
@例外
);