Позвольте мне объяснить: я пытаюсь включить Serilog в простое ядро ASP.NET. Веб-API с использованием расширения IHostBuilder, например:
Код: Выделить всё
public static void ConfigureSerilog(this IHostBuilder host)
{
host.UseSerilog((ctx, lc) =>
{
lc.MinimumLevel.Debug(); // Set a base minimum level 4
lc.WriteTo.Console();
lc.WriteTo.File(
path: "Logs/log.txt",
rollingInterval: RollingInterval.Day, // Create a new file daily
retainedFileCountLimit: 30, // Retain logs for 30 days
restrictedToMinimumLevel: Serilog.Events.LogEventLevel.Warning // File: Warning and above
);
// Optional: Enrich logs with additional context
lc.Enrich.FromLogContext();
// Override levels for specific namespaces
lc.MinimumLevel.Override("Microsoft", Serilog.Events.LogEventLevel.Warning);
lc.MinimumLevel.Override("System", Serilog.Events.LogEventLevel.Warning);
});
}
Код: Выделить всё
Log.Logger = new LoggerConfiguration().WriteTo.Console().CreateBootstrapLogger();
Log.Information("App starting...");
var builder = WebApplication.CreateBuilder(args);
// App Extension
builder.Host.ConfigureSerilog();
В итоге я немного испортил это из-за неудачной ситуации. Приложение и ведение журнала работают корректно.
Но информация в консоли кажется неполной. После запуска приложения, если бы не Log.Information, я бы не знал, что приложение работает, поскольку последнее сообщение, которое я получил, было сообщением по умолчанию «Building...».< /p>
Теперь я понимаю, что это незначительная проблема, но я пытаюсь понять, как работает Serilog и есть ли способ сделать ведение журналов в целом максимально эффективным и точным.Если кто-нибудь знает, как я могу выполнить интеграцию с Serilog лучше, это может быть какой-нибудь совет, ресурс или учебное пособие, я был бы очень признателен.
Спасибо, что уделили время.
Подробнее здесь: https://stackoverflow.com/questions/793 ... re-web-api
Мобильная версия