Я хочу, чтобы новый файл журнала создавался при каждом запуске моего приложения.
Я прочитал ответ на аналогичный вопрос, заданный здесь , однако этот ответ относится к настройке Serilog в коде C#, тогда как я хочу настроить его в моих настройках приложения.
Как настроить Serilog через мои настройки приложения, чтобы он создавал новый файл при каждом запуске приложения?
Моя текущая конфигурация:
"Serilog": {
"Using": ["Serilog.Sinks.File"],
"MinimumLevel": "Debug",
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "Logs/MyAppLog.txt" ,
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] ({SourceContext}) {Message}{NewLine}{Exception}",
"rollingInterval" : null // Throws ArgumentException
"retainedFileCountLimit": null // Does nothing
}
}
],
"Enrich": ["FromLogContext", "WithMachineName", "WithThreadId"],
"Properties": {
"Application": "TetriSharp.Application"
}
}
Как связанный вопрос, возможно ли добавить дату и время к имени файла, который создает Serilog? В идеале, мне нужно включить дату и время в секундах и миллисекундах, поскольку вполне возможно, что приложение может запускаться дважды за одну секунду (хотя и маловероятно). Спецификаторы формата имени файла, упомянутые в readme , не работают, так как они приводят к включению в имя файла строки {Hour}
, {HalfHour}
et c. Кроме того, они, кажется, не включают в себя секунды / миллисекунды.
Есть идеи?