You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Elastic.CommonSchema的EcsTextFormatter自定义映射移除Host字段

解决EcsTextFormatter移除Host字段的问题

你的代码出错有两个核心原因:

  • 错误匹配了MapCustom的委托签名:该方法要求的是Func<EcsDocument, LogEvent, EcsDocument>类型的委托,即接收两个参数(原始Ecs文档、日志事件),并返回处理后的Ecs文档,你多传了一个不必要的ecs2参数。
  • 代码中使用了未定义的ecs变量,且没有返回处理后的文档,不符合委托的返回值要求。

修正后的代码如下:

var config = new EcsTextFormatterConfiguration();

config.MapCustom((ecsDocument, logEvent) =>
{
    // 将Host字段置为null,序列化时会自动忽略该字段
    ecsDocument.Host = null;
    // 必须返回处理后的Ecs文档对象
    return ecsDocument;
});

如果Host是包含子属性的复杂对象,仅置null无法满足需求(比如部分子属性仍会被序列化),可以进一步清空Host的所有子属性,或者直接替换为全新的空Host实例(根据你的EcsDocument定义调整)。

内容的提问来源于stack exchange,提问作者GuyWhoLikesPlums

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 09:42:02