I'm using serilog for my .net core web api2.1 project. everything is working as expected in local but if i publish the code and if i create two endpoints which are pointing to same published code then serilog is creating two different logs for two endpoints but i would like to maintain in one single log file.could you please help me with this? this is my program.cs file
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>();
});
}
and appsettings.json as below.
{
"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": "*"
}