ASP.NET - Serilog - 多个接收器,每个接收器用于不同的用途
ASP.NET - Serilog - Multiple sinks each one for a different use
我想使用 Serilog 进行日志记录,因为我使用过它并且它符合我的需要。
这种情况的区别在于我需要记录不同的模块,我希望每个模块都记录在不同的文件夹中,甚至可能在不同的接收器中。
我不是在谈论使用多个接收器,而是在谈论做这样的事情:
Serilog.Log(LogInstance1,"Log for module 1") // Logs in a rolling text file in folder X 10 files of 1MB each
Serilog.Log(LogInstance2,"Log for module 2") // Logs i na text file that doesn't delete old entries
有谁知道这是否可以通过 Serilog 实现?
您可以创建多个单独的 ILogger
实例,每个实例都有自己的配置和一组接收器等;每个管道完全独立运行,没有任何类型的共享状态。
var logger1 = new LoggerConfiguration().
.WriteTo.File(...10...)
.CreateLogger();
var logger2 = new LoggerConfiguration()
.WriteTo.File(...)
.CreateLogger();
logger1.Information("Log for Module 1");
logger2.Information("Log for Module 2");
我想使用 Serilog 进行日志记录,因为我使用过它并且它符合我的需要。
这种情况的区别在于我需要记录不同的模块,我希望每个模块都记录在不同的文件夹中,甚至可能在不同的接收器中。
我不是在谈论使用多个接收器,而是在谈论做这样的事情:
Serilog.Log(LogInstance1,"Log for module 1") // Logs in a rolling text file in folder X 10 files of 1MB each
Serilog.Log(LogInstance2,"Log for module 2") // Logs i na text file that doesn't delete old entries
有谁知道这是否可以通过 Serilog 实现?
您可以创建多个单独的 ILogger
实例,每个实例都有自己的配置和一组接收器等;每个管道完全独立运行,没有任何类型的共享状态。
var logger1 = new LoggerConfiguration().
.WriteTo.File(...10...)
.CreateLogger();
var logger2 = new LoggerConfiguration()
.WriteTo.File(...)
.CreateLogger();
logger1.Information("Log for Module 1");
logger2.Information("Log for Module 2");