[英]ASP.NET Core logging in 2 different files
When using the default ASP.NET core logging in combination with Serilog, is it possible to write errors to errors.log and information to informations.log 当将默认的ASP.NET核心日志记录与Serilog结合使用时,是否可以将错误写入errors.log,将信息写入informations.log
using Microsoft.Extensions.Logging;
using Serilog;
loggerFactory.AddSerilog();
loggerFactory.AddFile(Configuration.GetSection("Logging"));
Appsettings.json: Appsettings.json:
"Logging": {
"PathFormat": "path-{Date}.log",
"IncludeScopes": false,
"LogLevel": {
"Default": "Information",
"System": "Information",
"Microsoft": "Information"
}
}
I want one logging file where I can see the requests which are done and stuff like that, just the info log. 我想要一个日志文件,在其中可以看到已完成的请求以及诸如此类的信息,仅是信息日志。 And one log with errors for debugging purposes.
还有一个带有错误的日志,用于调试目的。 How can I log different things to 2 files?
如何将不同的东西记录到2个文件中?
If you want to use a single Logger object you can filter log type by level: 如果要使用单个Logger对象,则可以按级别过滤日志类型:
using Serilog;
using Serilog.Events;
Log.Logger = new LoggerConfiguration()
// Restricts logs to: Debug, Information, Warning, Error and Fatal
.MinimumLevel.Debug()
// Logs Information, Warning, Error and Fatal to "info-logs.txt" file
.WriteTo.File(path: "info-logs.txt", restrictedToMinimumLevel: LogEventLevel.Information)
// Logs Error and Fatal to "error-logs.txt" file
.WriteTo.File(path: "error-logs.txt", restrictedToMinimumLevel: LogEventLevel.Error)
.CreateLogger();
Log.Verbose("Loggin Verbose..."); // Won't log, because the Logger "MinimumLevel" is set to Debug
Log.Debug("Loggin Debug..."); // Won't log, because there is no sink that takes Debug
Log.Information("Loggin Information..."); // Logs into "info-logs.txt"
Log.Warning("Loggin Warning..."); // Logs into "info-logs.txt"
Log.Error("Loggin Error..."); // Logs into "info-logs.txt" and "error-logs.txt"
Log.Fatal("Loggin fatal..."); // Logs into "info-logs.txt" and "error-logs.txt"
The log levels and descriptions from the docs : 来自docs的日志级别和说明:
Serilog supports that but you seem to be missing relevant code. Serilog支持这一点,但是您似乎缺少相关的代码。 In your
Startup
method you should be setting up your SeriLog configuration. 在
Startup
方法中,您应该设置SeriLog配置。 There you can configure it to log different data into different files using sinks and filters. 您可以在那里配置它,以便使用接收器和过滤器将不同的数据记录到不同的文件中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.