如何在Asp Net Core中将商店日志配置到应用程序文件夹?

时间:2017-03-21 20:46:41

标签: logging asp.net-core .net-core

Asp.Net Core存储了ILogger写入的日志文件?

更改日志文件位置是否是标准方法?

我不想使用像https://www.nuget.org/packages/serilog.extensions.logging.file

这样的任何套餐

1 个答案:

答案 0 :(得分:1)

ASP.NET Core申请的

Built-in logging providers是:

默认情况下,这些类都不能用于记录到文件 但是,您可以使用tracing listener,可以设置文件使用,如下所示:

public void Configure(IApplicationBuilder app,
    IHostingEnvironment env,
    ILoggerFactory loggerFactory)
{
    loggerFactory
        .AddDebug();

    // add Trace Source logging
    var testSwitch = new SourceSwitch("sourceSwitch", "Logging Sample");
    testSwitch.Level = SourceLevels.Warning;
    loggerFactory.AddTraceSource(testSwitch,
        new TextWriterTraceListener("MyLogName.txt"));

正如您所看到的,您可以在此处过滤消息,现在它会记下所有警告和更高的消息。您也可以设置filter for listener

var testSwitch = new SourceSwitch("sourceSwitch", "Logging Sample");
var listener = new TextWriterTraceListener("MyLogName.txt");
listener.Filter = new SourceFilter("YourFilterName");
loggerFactory.AddTraceSource(testSwitch, listener);

在消费者类中,这可以用作:

logger = loggerFactory.CreateLogger("YourFilterName");

相关文章: