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, в настоящее время вы не можете определить, где будет отображаться дата. Он всегда добавляется в конец выбранного вами имени файла (и перед порядковым номером, если вы также меняете размер файла).

Были попытки реализовать эту функцию, но на момент написания этой статьи ее еще нет.

Другие вопросы по тегам