我有以下配置
public static IServiceCollection ConfigureSiteLogging(this IServiceCollection services)
{
if (!Directory.Exists(@"D:\inetpub\logs"))
{
Directory.CreateDirectory(@"D:\inetpub\logs");
}
services.AddLogging(builder =>
{
ILoggerFactory loggerFactory = LoggerFactory.Create(builder =>
{
var loggerConfiguration = new LoggerConfiguration()
.Enrich.FromLogContext()
.WriteTo.File(@"D:\inetpub\logs\shop.txt"
, rollingInterval: RollingInterval.Day
, encoding: System.Text.Encoding.UTF8
, retainedFileCountLimit: 2
, restrictedToMinimumLevel: Serilog.Events.LogEventLevel.Information
);
builder.AddSerilog(loggerConfiguration.CreateLogger());
});
});
return services;
}在站点程序文件中:
Log.Information("Web Service Running");
await app.RunAsync();
Log.Information("Web Service Stopped");
Log.CloseAndFlush();问题是,我没有看到任何登录磁盘,为什么它不冲?这些是我的NuGet包
<PackageReference Include="Serilog" Version="2.11.0" />
<PackageReference Include="Serilog.AspNetCore" Version="6.0.1" />
<PackageReference Include="Serilog.Extensions.Logging" Version="3.1.0" />
<PackageReference Include="Serilog.Settings.AppSettings" Version="2.2.2" />
<PackageReference Include="Serilog.Settings.Configuration" Version="3.3.0" />
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />发布于 2022-08-23 05:06:28
我发现了我遗漏的东西,不确定它是否是一个特性,但是您必须将记录器分配给Serilog.Log.Logger,--对builder.AddSerilog()的调用不会执行这个步骤。
这是我的工作解决方案
public static IServiceCollection ConfigureSiteLogging(this IServiceCollection services)
{
if (!Directory.Exists(@"D:\InetPub\logs"))
{
Directory.CreateDirectory(@"D:\InetPub\logs");
}
Log.Logger = new LoggerConfiguration()
.Enrich.FromLogContext()
.MinimumLevel.Information()
.WriteTo.File(@"D:\InetPub\logs\shop.txt"
, rollingInterval: RollingInterval.Day
, encoding: System.Text.Encoding.UTF8
, retainedFileCountLimit: 2
, flushToDiskInterval: TimeSpan.FromSeconds(5)
, shared: true
).CreateLogger();
services.AddLogging(builder =>
{
ILoggerFactory loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddSerilog(Log.Logger);
});
});
return services;
}https://stackoverflow.com/questions/73413069
复制相似问题