In .NET 5 Startup.cs class there is Configure method which it’s inside ILoggerFactory interface is injected. See below:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
loggerFactory.AddFile("Logs/mylog-{Date}.txt");
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
..........
}
In .NET 6 how can I get the ILoggerFactory after the var app = builder.Build(); and call its AddFile() method to write logs like .NET 5 above.
3
Answers
Optimal Answer
After installing
Serilog.Extensions.Logging.File
nuget package, writing below code:In your Program.cs file, add the following code:
You can do this like that:
using (var scope = app.Services.CreateScope())
{
var loggerFactory = scope.ServiceProvider.GetRequiredService(typeof(ILoggerFactory));
loggerFactory.AddFile("Logs/mylog-{Date}.txt");
}