通过 Elasticsearch 的 Serilog

Serilog via Elasticsearch

提问人:Ruslan Kudaybergenov 提问时间:10/26/2023 更新时间:10/26/2023 访问量:33

问:

我使用 serilog 记录一些数据并将其写入控制台和 elasticsearch。ECS 支持 Geo,Geo 可以嵌套在 Client 和 Host 下。我在官方网站上使用默认的 serilog 格式化程序。So 代码示例

EcsTextFormatterConfiguration ecsConfiguration = new()
{
    ...
};
EcsTextFormatter formatter = new(ecsConfiguration);

loggerConfiguration
    .ReadFrom.Configuration(configuration)
    //Some enrichers
    //....
    .WriteTo.Console(formatter)
    .WriteTo.Elasticsearch(
        new ElasticsearchSinkOptions(new Uri(elasticUrl))
        {
            CustomFormatter = formatter
        });
  1. 当日志像这样时,kibana 中的字段是,但是当像这样使用时,kibana 中的字段是 .当使用一些自定义的结构化日志记录结构(如“{customLable}”)时,它会将其作为“lables.customLable”放入 kibana。这是否意味着所有已知的嵌套字段都将被放入 kibana 中,并且没问题?_logger.LogInformation("{geo.name}", "Land of Oz")geo.name _logger.LogInformation("{client.geo.name}", "Land of Oz")fields.client.geo.namefields.*

  2. 第二个问题是 - 是否存在针对客户端、GeoOrchestrator此处介绍的其他字段的完整扩充器。还是是时候编写自己的扩充器了,在前后之间有复杂的解决方案?:D。是的,我知道这一点以及来自 nugetorg 的一些有用的扩充器,例如 entityframework,但这还不够。

C# .NET Serilog serilog-sinks-elasticsearch

评论


答: 暂无答案