配置 Serilog.Extensions.Logging.File

Configuring Serilog.Extensions.Logging.File

按照 Nicholas Blumhardt's page and later the Serilog github page 中的说明,我在使 Serilog 工作时遇到了问题。具体

Error CS1061 'ILoggerFactory' does not contain a definition for 'AddFile' and no extension method 'AddFile' accepting a first argument of type 'ILoggerFactory' could be found (are you missing a using directive or an assembly reference?)

我已经从 NuGet 下载了最新的包。我的 .proj 有以下条目 <PackageReference Include="Serilog.Extensions.Logging" Version="2.0.2" />

安装后我重新启动了Visual Studio。

Startup.cs(第 1 课)

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    loggerFactory.AddFile("Logs/app-{Date}.txt");

Program.cs(第 2 课)

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .ConfigureLogging((hostingContext, builder) =>
        {
            builder.AddFile("Logs/myapp-{Date}.txt");
        })
        .UseStartup<Startup>();

更糟糕的是,我一年多前为一个项目做了这个,相比之下我看不出我做错了什么:(

对于一种方法,请按照以下步骤操作:

  1. 安装包 Serilog.Extensions.Logging.File1.1.0

    <PackageReference Include="Serilog.Extensions.Logging.File" Version="1.1.0" />
    
  2. Startup.cs

    中注册AddFile
        public void Configure(IApplicationBuilder app, IHostingEnvironment env,        
     ILoggerFactory loggerFactory)
    {
        loggerFactory.AddFile("Logs/app-{Date}.txt");