Asp.Net Core
存储了ILogger
写入的日志文件?
更改日志文件位置是否是标准方法?
我不想使用像https://www.nuget.org/packages/serilog.extensions.logging.file
这样的任何套餐答案 0 :(得分:1)
ASP.NET Core
申请的
默认情况下,这些类都不能用于记录到文件 但是,您可以使用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");
相关文章: