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

如何让SEQ为自定义日志中的耗时显示彩色指标徽章?

在SEQ中显示自定义日志的耗时彩色徽章

要让SEQ像处理ASP.NET Core健康检查日志那样,给自定义Serilog日志显示彩色耗时徽章,核心是让日志事件符合SEQ的自动识别规则,以下是几种可行方案:

1. 使用SEQ默认识别的字段名

ASP.NET Core健康检查日志通过ElapsedMilliseconds字段触发SEQ的计时徽章,直接改用这个字段名即可:

// 健康检查风格日志示例
_logger.LogInformation(
    "Health check GET https://myapp/health succeeded with status code 200 in {ElapsedMilliseconds:0.000} ms",
    405.705);

// 业务处理日志示例
var position = new { Latitude = 25, Longitude = 134 };
var elapsedMs = 34;

_logger.LogInformation("Processed {@Position} in {ElapsedMilliseconds:000} ms.", position, elapsedMs);

2. 自定义字段名:通过Enricher标记计时属性

如果不想修改现有字段名(比如继续用Elapsed),可以给字段添加SEQ识别的@timing元数据,通过Serilog enricher实现全局生效:

步骤1:创建自定义Enricher

public class TimingEnricher : ILogEventEnricher
{
    private readonly string _targetField;

    public TimingEnricher(string targetField = "Elapsed")
    {
        _targetField = targetField;
    }

    public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory)
    {
        if (logEvent.Properties.TryGetValue(_targetField, out var value) 
            && value is ScalarValue scalar 
            && scalar.Value is double or int or float)
        {
            logEvent.AddOrUpdateProperty(propertyFactory.CreateProperty("@timing", scalar.Value));
        }
    }
}

步骤2:配置Serilog启用Enricher

Log.Logger = new LoggerConfiguration()
    .Enrich.With<TimingEnricher>() // 启用自定义计时Enricher
    .WriteTo.Seq("http://your-seq-instance-url")
    // 其他配置...
    .CreateLogger();

配置完成后,原有使用Elapsed字段的日志会自动被SEQ识别为计时指标,显示彩色徽章。

3. 零散场景:手动传入@timing属性

如果只是个别日志需要显示徽章,可直接在日志调用时附加@timing属性,无需全局配置:

var elapsedMs = 34;
_logger.LogInformation(
    "Processed {@Position} in {Elapsed:000} ms.", 
    position, 
    elapsedMs,
    new { @timing = elapsedMs });

验证方法

在SEQ中打开日志事件的详情面板,查看Properties区域:

  • 确认存在ElapsedMilliseconds/Elapsed数值字段,或@timing属性
  • 若字段存在仍不显示徽章,检查SEQ版本(建议使用v5及以上版本)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 18:12:39