是否可以通过appsettings.json设置Serilog格式化程序变量?

问题描述 投票:1回答:1

我具有以下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();

我需要在ElasticsearchJsonFormatter实例的我的appsettings.json文件中将“ inlineFields”设置为true,将“ renderMessageTemplate”设置为false。是否有办法在appsettings.json文件中执行此操作,以便使配置不受C#的限制?]

c# .net-core serilog appsettings
1个回答
0
投票

我在GitHub上问了这个问题:https://github.com/serilog/serilog-sinks-file/issues/138

没有办法:(

© www.soinside.com 2019 - 2024. All rights reserved.