Я использую Serilog для регистрации ошибок в моем WebApi со следующей конфигурацией.
private static readonly string LogFileName = System.Web.Hosting.HostingEnvironment.MapPath(@"~/App_Data/Logs/Service.log");
private static void ConfigureLogging(ContainerBuilder builder)
{
var loggerConfig = new LoggerConfiguration()
.ReadFrom.AppSettings()
.WriteTo.Console()
.WriteTo.File(LogFileName != null ? LogFileName : "C:/Temp/Logs/Service.log",
shared: true,
rollingInterval: RollingInterval.Day);
// configure global logger for logging in owin middleware
Log.Logger = loggerConfig.CreateLogger();
builder.Register(_ => Log.Logger).As<ILogger>(); }`
С настройками приложений
<appSettings>
<add key="serilog:minimum-level" value="Warning" />
</appSettings>
Проблема в том, что он регистрируется только один раз. Сервис все еще жив, я могу отправить больше Успешных запросов. И я также вижу запросы/ошибки, зарегистрированные в консоли. Но это не добавляется в файл журнала.
НО, если я отредактирую WebConfig - переключитесь с «Предупреждение» на «Подробное», а затем обратно на «Предупреждение», так что никаких реальных изменений — он снова регистрируется.
flushToDiskInterval: TimeSpan.FromSeconds(1)
? Потому что это не решает проблему. - person Nils Koppmeier   schedule 31.05.2021