サーチ…


NLog Loggerの使用

NLog.Extensions.Loggingは、.NETコアとASP.NETコアのMicrosoftの公式NLogプロバイダです。 ここここにそれぞれ命令と例があります。

コントローラにロガーを追加する

ILoggerFactoryを要求してILoggerのインスタンスを明示的に作成する代わりに、ILoggerを要求できます(Tはロガーを要求するクラスです)。

public class TodoController : Controller
{
    private readonly ILogger _logger;

    public TodoController(ILogger<TodoController> logger)
    {
     _logger = logger;
    }
}

ASP.NETコア1.0アプリケーションでのSerilogの使用

1)project.jsonに以下の依存関係を追加します。

"Serilog": "2.2.0",
"Serilog.Extensions.Logging": "1.2.0",
"Serilog.Sinks.RollingFile": "2.0.0",
"Serilog.Sinks.File": "3.0.0"

2)Startup.csに以下の行をコンストラクタで追加します。

Log.Logger = new LoggerConfiguration()
    .MinimumLevel.Debug()
    .WriteTo.RollingFile(Path.Combine(env.ContentRootPath, "Serilog-{Date}.txt"))
    .CreateLogger();

3)StartupクラスのConfigureメソッドで、

loggerFactory.AddSerilog();

4)コントローラで、このようなILoggerのインスタンスを作成します。

public class HomeController : Controller
{
    ILogger<HomeController> _logger = null;
    public HomeController(ILogger<HomeController> logger)
    {
        _logger = logger;
    }

5)サンプルロギング

try
{
    throw new Exception("Serilog Testing");
}
catch (System.Exception ex)
{
    this._logger.LogError(ex.Message);
}


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow