- GC по умолчанию отключён в такого вида приложениях
Как у тебя память в таком приложении не заканчивается?
Log.CloseAndFlush()
Это нужно из-за того, что некоторые реализации Sink-ов могут накапливать сообщения перед отправкой.
В целом первый вариант мне нравится больше (сами так делаем)
А во втором приходится ещё и менять параметры стандартного логгера (ILogger) в appsettings.json.
Это из-за того что у тебя там ReadFrom.Configuration
PS: вообще тут у тебя несколько ортогональных вещей:
1. Использовать логгер извне HostBuilder, если сам HostBuilder свалится. (try-catch из второго примера)
2. Конфигурация только из кода (1) или конфигурация из appsettings (2)
3. UseSerilog (2) против ConfigureLogging (1)
Емнип, UseSerilog под капотом вызывает ConfigureLogging, так что выбор остаётся только по первым двум пунктам.