Serilog создает два файла журнала для двух конечных точек, которые указывают на один физический путь к файлу.

Я использую serilog для своего проекта .net core web api2.1. все работает как ожидалось в локальном режиме, но если я опубликую код, и если я создам две конечные точки, которые указывают на один и тот же опубликованный код, то serilog создает два разных журнала для двух конечных точек, но я хотел бы сохранить в одном файле журнала. Пожалуйста, помогите мне с этим? это мой файл program.cs

      public class Program
    {
        public static void Main(string[] args)
        {
            var config = new ConfigurationBuilder().AddJsonFile("appsettings.json",false,true).Build();
            Log.Logger = new LoggerConfiguration()
               .Enrich.FromLogContext()
               .ReadFrom.Configuration(config)
               .CreateLogger();

            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
            .UseSerilog() 
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }

и appsettings.json, как показано ниже.

      {
  "Serilog": {
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Default": "Information",
        "Microsoft": "Warning",
        "Microsoft.Hosting.Lifetime": "Information"
      }
    },
    "WriteTo": [
      {
        "Name": "File",
        "Args": {
          "path": "Logs/applog_.log",
          "outputTemplate": "{Timestamp:o} [{Level:u3}] ({SourceContext}) {Message}{NewLine}{Exception}",
          "retainedFileCountLimit": 7,
          "fileSizeLimitBytes": 50000000,
          "rollOnFileSizeLimit": true
        }
      }
    ],
    "Enrich": [ "FromLogContext"],
    "Properties": {
      "Application": "AspNetCoreSerilogDemo"
    }
  },
  "AllowedHosts": "*"
}

0 ответов

Другие вопросы по тегам