Есть ли способ установить переменные форматера Serilog через appsettings. json? - PullRequest
1 голос
/ 17 марта 2020

У меня есть следующие appsettings. json конфигурация:

{
    "Serilog": {
        "Using": [],
        "MinimumLevel": {
            "Default": "Information",
            "Override": {
                "Microsoft": "Warning",
                "System": "Warning"
            }
        },
        "Enrich": [ "FromLogContext", "WithMachineName" ],
        "WriteTo": [
            {
                "Name": "File",
                "Args": {
                    "path": "C:\\Logs\\log.json",
                    "formatter": "Serilog.Formatting.Elasticsearch.ElasticsearchJsonFormatter, Serilog.Formatting.Elasticsearch"
                }
            }
        ]
    }
}

То, что я пытаюсь настроить в вышеуказанных appsettings. json файл будет представлен в C# как-то так:

Log.Logger = new LoggerConfiguration()
    .ReadFrom.Configuration(configuration)
    .WriteTo.File(new ElasticsearchJsonFormatter(inlineFields:true, renderMessageTemplate: false), @"C:\logs\log.json")
    .CreateLogger();

Мне нужно установить "inlineFields" равным true и "renderMessageTemplate", равным false, как переопределения в моих appsettings. json файл в экземпляре ElasticsearchJsonFormatter. Есть ли способ сделать это в файле appsettings. json, чтобы я мог сохранить свою конфигурацию вне C#?

1 Ответ

0 голосов
/ 30 марта 2020

Я задавал этот вопрос на GitHub: https://github.com/serilog/serilog-sinks-file/issues/138

Ни за что: (

...