Hi Saad SBAT,
I have modified your code by adding Console
sink to appear logs in the Log Stream of a Linux App service
.
configuration.WriteTo.Console();
Program.cs :
using Microsoft.ApplicationInsights.Extensibility;
using Microsoft.Extensions.Options;
using Serilog;
using Serilog.Events;
var builder = WebApplication.CreateBuilder(args);
builder.Host.ConfigureServices(services =>
{
services.AddApplicationInsightsTelemetry();
});
builder.Host.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.AddAzureWebAppDiagnostics();
});
builder.Host.UseSerilog((context, services, configuration) =>
{
configuration
.Enrich.FromLogContext()
.MinimumLevel.Override("Microsoft.AspNetCore", LogEventLevel.Warning)
.ReadFrom.Configuration(context.Configuration)
.ReadFrom.Services(services);
var telemetryConfiguration = services.GetService<IOptions<TelemetryConfiguration>>();
if (!string.IsNullOrEmpty(telemetryConfiguration?.Value.ConnectionString))
{
configuration.WriteTo.ApplicationInsights(telemetryConfiguration.Value, TelemetryConverter.Traces);
}
if (!context.HostingEnvironment.IsDevelopment())
{
configuration.WriteTo.File(
$"/home/LogFiles/{context.HostingEnvironment.ApplicationName}.txt",
fileSizeLimitBytes: 1048576,
rollOnFileSizeLimit: true,
retainedFileCountLimit: 3,
shared: true,
flushToDiskInterval: TimeSpan.FromSeconds(1)
);
}
configuration.WriteTo.Console();
});
builder.Services.AddControllers();
var app = builder.Build();
app.UseAuthorization();
app.MapControllers();
app.Run();
WeatherForecastController.cs :
[HttpGet]
public IEnumerable<string> Get()
{
_logger.LogInformation("Weather forecast requested at {time}", DateTime.UtcNow);
_logger.LogWarning("A warning has appeared");
_logger.LogError("An error has occurred");
return new[] { "Sunny", "Cloudy", "Rainy" };
}
}
appsettings.json :
{
"ApplicationInsights": {
"ConnectionString": "<AppInsightsConneString>"
},
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft.AspNetCore": "Warning"
}
},
"Enrich": [ "FromLogContext" ]
}
}
Log Stream :
I successfully got the logs.
If the answer is helpful, please click Accept Answer and kindly upvote it so that other people who faces similar issue may get benefitted from it.