//加入日志
// 配置 Serilog
Log.Logger = new LoggerConfiguration()
.WriteTo.Console() // 输出到控制台
.WriteTo.Map(
keySelector: logEvent => logEvent.Properties["SourceContext"], // 根据 SourceContext(类名)选择文件
configure: (sourceContext, sinkConfig) =>
{
var className = sourceContext.ToString()
.Replace("\"", "") // 去掉引号
.Split('.').Last(); // 获取类名(去掉命名空间)
sinkConfig.File($"logs/{className}_.log", rollingInterval: RollingInterval.Day); // 根据类名生成日志文件
})
.CreateLogger();
var serviceProvider = new ServiceCollection()
.AddLogging(loggingBuilder =>
{
loggingBuilder.ClearProviders(); // 清除默认的日志提供程序
loggingBuilder.AddSerilog(); // 添加 Serilog 提供程序
})
.AddSingleton<Phase1>() //不加也可以
.AddSingleton<Phase2>() //不加也可以
.AddSingleton<Phase3>() //不加也可以
.AddSingleton<Phase4>() //不加也可以
.AddSingleton<Phase5>() //不加也可以
.AddSingleton<Phase6>() //不加也可以
.BuildServiceProvider();
使用:在对应的类中