var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json")
//.AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"}.json", true)
.Build();
Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(configuration)
.Enrich.WithEnvironmentName()
.Enrich.WithProperty("ApplicationNameaaaa", "my application")
.CreateLogger();
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json")
//.AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"}.json", true)
.Build();
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.MinimumLevel.Override("Microsoft.AspNetCore", LogEventLevel.Warning)
.Enrich.FromLogContext()
.WriteTo.Console(new RenderedCompactJsonFormatter())
.WriteTo.Debug(new RenderedCompactJsonFormatter())
.WriteTo.File(
new RenderedCompactJsonFormatter(),
@"./logs/log-.txt",
fileSizeLimitBytes: 1_000_000,
rollOnFileSizeLimit: true,
shared: true,
flushToDiskInterval: TimeSpan.FromSeconds(1))
.CreateLogger();
in appsettings.json:
"Serilog": { "MinimumLevel": { "Default": "Information", "Override": { "Microsoft": "Warning", "System": "Warning", "System.Net.Http.HttpClient": "Warning" } }, "WriteTo": [ { "Name": "Debug", "Args": { "theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Code, Serilog.Sinks.Console", "formatter": "Serilog.Formatting.Compact.RenderedCompactJsonFormatter, Serilog.Formatting.Compact" } }, { "Name": "Console", "Args": { "theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Code, Serilog.Sinks.Console", "formatter": "Serilog.Formatting.Compact.RenderedCompactJsonFormatter, Serilog.Formatting.Compact" } }, { "Name": "Logger", "Args": { "configureLogger": { "Filter": [ { "Name": "ByIncludingOnly", "Args": { "expression": "Contains(SourceContext, 'nomeapp') and (@Level = 'Error' or @Level = 'Fatal' or @Level = 'Warning')" } } ], "WriteTo": [ { "Name": "File", "Args": { "path": "Logs/Error/applog_.json", "formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog", "rollingInterval": "Day", "retainedFileCountLimit": 7 } }, { "Name": "MongoDBBson", "Args": { "databaseUrl": "mongodb://user:password@server1,server2,server3/database?authSource=admin&replicaSet=database", "collectionName": "logs", "cappedMaxSizeMb": "1024", "cappedMaxDocuments": "50000" } } ] } } }, { "Name": "Logger", "Args": { "configureLogger": { "Filter": [ { "Name": "ByIncludingOnly", "Args": { "expression": "Contains(SourceContext, 'nomeapp') and @Level = 'Information'" } } ], "WriteTo": [ { "Name": "File", "Args": { "path": "Logs/Info/applog_.json", "formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog", "rollingInterval": "Day", "retainedFileCountLimit": 7 } }, { "Name": "MongoDBBson", "Args": { "databaseUrl": "mongodb://user:password@server1,server2,server3/database?authSource=admin&replicaSet=replicaname", "collectionName": "logs", "cappedMaxSizeMb": "1024", "cappedMaxDocuments": "50000" } } ] } } } ], "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId", "WithThreadName" ], "Properties": { "app": "nome", "app_environment": "dev", /*dev,tst,itg,pef,prd*/ "log.level": "", /*error,info,debug,warning*/ "tenant": "nometeam" } }