Serilog не анализирует шаблоны имен файлов
Я использую серилог с такой конфигурацией:
{
"Serilog": {
"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
"MinimumLevel": "Debug",
"Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
"WriteTo": [
{ "Name": "Console" },
{
"Name": "File",
"Args": {
"path": "./logs/performance-{Date}.log",
"rollingInterval": "Day",
"fileSizeLimitBytes": 1000,
"rollOnFileSizeLimit": true,
"retainedFileCountLimit": null,
"shared": true
}
}
]
}
}
Выходной файл должен выглядеть так
20210613-performance.log
Но выходной файл выглядит как
{Date}-performance20210613.log
.
Что я делаю не так?
1 ответ
В
{Date}
заполнитель не является функцией раковина, которую вы используете. Вы, вероятно, путаете (устарело)Serilog.Sinks.RollingFile
раковина, которая имеет эту особенность.
С участием Serilog.Sinks.File
, в настоящее время вы не можете определить, где будет отображаться дата. Он всегда добавляется в конец выбранного вами имени файла (и перед порядковым номером, если вы также меняете размер файла).
Были попытки реализовать эту функцию, но на момент написания этой статьи ее еще нет.