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

如何为SignalR客户端添加Serilog日志记录?

如何为SignalR Hub连接的日志配置添加Serilog提供程序?

你当前的Hub连接构建代码如下:

hub = new HubConnectionBuilder()
    .WithUrl(Constants.HubsUrl + "/MainHub", options =>
    {
        options.Headers.Add(Constants.HeaderToken, token);
        options.UseDefaultCredentials = true;
    })
    .ConfigureLogging(logging =>
    {
        logging.AddDebug();
        logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Warning);
    })
    .WithAutomaticReconnect(new[] { 
        TimeSpan.Zero, 
        TimeSpan.FromSeconds(5), 
        TimeSpan.FromSeconds(30)
    })
    .Build();

要添加Serilog日志提供程序,按以下步骤操作:

  • 安装必要的NuGet包
    首先安装Serilog.Extensions.Logging包,在终端执行:

    dotnet add package Serilog.Extensions.Logging
    
  • 修改日志配置代码
    在ConfigureLogging委托中添加Serilog提供程序即可。如果项目已经全局初始化了Serilog(比如在Program.cs中配置了Log.Logger),直接调用AddSerilog();如果需要为Hub连接单独配置Serilog,也可以传入自定义的Logger实例。

修改后的完整代码示例:

// 若未全局初始化Serilog,可在此处先配置(可选)
// Log.Logger = new LoggerConfiguration()
//     .WriteTo.Console()
//     .WriteTo.File("hub-logs.txt", rollingInterval: RollingInterval.Day)
//     .CreateLogger();

hub = new HubConnectionBuilder()
    .WithUrl(Constants.HubsUrl + "/MainHub", options =>
    {
        options.Headers.Add(Constants.HeaderToken, token);
        options.UseDefaultCredentials = true;
    })
    .ConfigureLogging(logging =>
    {
        logging.AddDebug();
        // 添加Serilog提供程序
        logging.AddSerilog();
        logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Warning);
    })
    .WithAutomaticReconnect(new[] { 
        TimeSpan.Zero, 
        TimeSpan.FromSeconds(5), 
        TimeSpan.FromSeconds(30)
    })
    .Build();
  • 注意事项
    • 如果使用全局Serilog配置,确保在应用启动时已完成Log.Logger的初始化,避免日志丢失。
    • 可通过调整Serilog配置(比如输出到控制台、文件、Seq等)满足不同日志存储需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 19:58:18