【问题标题】:Does Serilog JsonFormatter support Formatting.Indented?Serilog JsonFormatter 是否支持 Formatting.Indented?
【发布时间】:2017-04-19 09:05:29
【问题描述】:

我有这样的代码

        var log = new LoggerConfiguration()
            .MinimumLevel.Debug()
            .Enrich.WithExceptionDetails()
            .WriteTo.RollingFile(new JsonFormatter(renderMessage: true),"log-{Date}.txt")                
            .CreateLogger();

是否可以将 Json 结果格式化为缩进

【问题讨论】:

    标签: c# logging json.net serilog


    【解决方案1】:

    没有; JSON 格式化程序的目标是生成以换行符分隔的 JSON 流以供其他程序使用 - 人类可读性不是主要考虑因素。

    但是,您可以通过jq 之类的方式将这些通过管道进行漂亮打印:

    cat log-20170420.txt | jq '.'
    

    chocolatey install jqsudo apt-get install jq 取决于您的操作系统。)

    【讨论】:

    • 我可以用 json.net 替换 serilog jsonformatter 来实现吗?如果是怎么办?
    • 没有什么是开箱即用的;自定义格式化程序是可能的,但需要一些工作(例如,参见github.com/serilog/serilog-formatting-compact)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    相关资源
    最近更新 更多