ASP.NETログ
3585 ワード
ASP.NET 5はすでにログシステムを内蔵しており、サードパーティのログフレームワークも使用できます.
1.アプリケーションでのログの実装
スタータープでcsファイルでは、ConfigureでILoggerFactoryを注入し、CreateLoggerメソッドを呼び出してログクラスを作成できます.コードは次のとおりです.
ログを作成するときは、「タイプ」パラメータを渡す必要があります.これにより、階層関係を持つことができます.分割します.
アプリケーションでログを使用するには、DIでILoggerを注入します.
上記の例では、loggerはTypeの名前を分類の名前として使用します.
2.ログ・レベル
ASP.NET 5では6つのログ・レベルが定義されています
Debug
Verbose
Information
Warning
Error
Critical
範囲:
範囲は、BeginScopeImplを呼び出して返されるタイプがIDisposableのオブジェクトです.内部に構築されたTraceSourceLoggerのライフサイクルは、トレースの開始からトレースの終了までです.
3.ログの設定
上の例ではloggerFactoryを使ってAddConsoleは、ログに入力する方法を追加し、コンソールに出力します.
TraceSourceログの設定
まず、Microsoftを追加する必要があります.Extensions.Logging.TraceSourceはあなたのプロジェクトにパッケージされています.jsonファイルにあります.
1.アプリケーションでのログの実装
スタータープでcsファイルでは、ConfigureでILoggerFactoryを注入し、CreateLoggerメソッドを呼び出してログクラスを作成できます.コードは次のとおりです.
public void Configure(IApplicationBuilder app,
IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(minLevel:LogLevel.Verbose);
app.Run(async (context) =>
{
var logger = loggerFactory.CreateLogger("Catchall Endpoint");
logger.LogInformation("Not endpoint found for request {path}", context.Request.Path);
awiat context.Response.WriteAsync("No endpoint found - try/api/todo.");
}
}
ログを作成するときは、「タイプ」パラメータを渡す必要があります.これにより、階層関係を持つことができます.分割します.
アプリケーションでログを使用するには、DIでILogger
public class TodoController : Controller
{
private readonly ILogger<TodoController> _logger;
public TodoController(ILogger<TodoController> logger)
{
_logger = logger
}
}
上記の例では、loggerはTypeの名前を分類の名前として使用します.
2.ログ・レベル
ASP.NET 5では6つのログ・レベルが定義されています
Debug
Verbose
Information
Warning
Error
Critical
範囲:
範囲は、BeginScopeImplを呼び出して返されるタイプがIDisposableのオブジェクトです.内部に構築されたTraceSourceLoggerのライフサイクルは、トレースの開始からトレースの終了までです.
3.ログの設定
上の例ではloggerFactoryを使ってAddConsoleは、ログに入力する方法を追加し、コンソールに出力します.
TraceSourceログの設定
まず、Microsoftを追加する必要があります.Extensions.Logging.TraceSourceはあなたのプロジェクトにパッケージされています.jsonファイルにあります.
"dependencies": { "Microsoft.AspNet.Mvc": "6.0.0-rc1-final", "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final", "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final", "Microsoft.Extensions.Logging": "1.0.0-rc1-final", "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final", "Microsoft.Extensions.Logging.TraceSource": "1.0.0-rc1-final" },
TraceSource, DNX Core , #if DNX451
#if DNX451
var sourceSwitch = new SourceSwitch("LoggingSample");
sourceSwitch.Level = SourceLevels.Critical;
loggerFactroy.AddTraceSource(sourceSwitch, new ConsoleTraceListener(false));
loggerFactory.AddTraceSource(sourceSwitch, new EventLogTraceListener("Application"));
#endif
, project.json , ILoggerFactory 。