增加日志

This commit is contained in:
2026-01-16 07:23:56 +08:00
parent 2754cdff15
commit 4e0bb33ce2
11 changed files with 104 additions and 59 deletions

View File

@@ -1,4 +1,6 @@
using Newtonsoft.Json.Linq;
using Ayay.SerilogLogs;
using Newtonsoft.Json.Linq;
using Serilog;
using SHH.CameraSdk;
using SHH.Contracts;
@@ -9,6 +11,7 @@ namespace SHH.CameraService;
/// </summary>
public class DeviceConfigHandler : ICommandHandler
{
private static ILogger _sysLog = Log.ForContext("SourceContext", LogModules.Core);
private readonly CameraManager _cameraManager;
/// <summary>

View File

@@ -1,8 +1,8 @@
using Grpc.Core;
using Ayay.SerilogLogs;
using Grpc.Core;
using Grpc.Net.Client;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json.Linq;
using Serilog;
using SHH.CameraSdk;
using SHH.Contracts.Grpc; // 引用 Proto 生成的命名空间
@@ -17,24 +17,23 @@ namespace SHH.CameraService
/// </summary>
public class GatewayService : BackgroundService
{
private readonly ILogger<GatewayService> _logger;
private readonly ServiceConfig _config;
private readonly CommandDispatcher _dispatcher;
public GatewayService(
ILogger<GatewayService> logger,
ServiceConfig config,
CommandDispatcher dispatcher)
{
_logger = logger;
_config = config;
_dispatcher = dispatcher;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
var gRpcLog = Log.ForContext("SourceContext", LogModules.gRpc);
// 预留系统启动缓冲时间,确保数据库和 SDK 已就绪
_logger.LogInformation("[gRPC Bus] 指令接收服务启动,等待环境预热...");
gRpcLog.Information("[gRPC] 指令接收服务启动,等待环境预热...");
await Task.Delay(3000, stoppingToken);
while (!stoppingToken.IsCancellationRequested)
@@ -49,7 +48,7 @@ namespace SHH.CameraService
var client = new GatewayProvider.GatewayProviderClient(channel);
// --- 第一步:发起节点逻辑注册 (Unary) ---
_logger.LogInformation("[gRPC Bus] 正在发起逻辑注册: {Url}", targetUrl);
gRpcLog.Information("[gRPC] 正在发起逻辑注册: {Url}", targetUrl);
var regResp = await client.RegisterInstanceAsync(new RegisterRequest
{
InstanceId = _config.AppId,
@@ -60,7 +59,7 @@ namespace SHH.CameraService
if (regResp.Success)
{
_logger.LogInformation("[gRPC Bus] 注册成功正在建立双向指令通道...");
gRpcLog.Information("[gRPC] 注册成功, 正在建立双向指令通道...");
// --- 第二步:开启 Server Streaming 指令流 ---
using var call = client.OpenCommandChannel(new CommandStreamRequest
@@ -87,13 +86,14 @@ namespace SHH.CameraService
}
catch (RpcException ex)
{
_logger.LogError("[gRPC Bus] RPC 异常 (Status: {Code}): {Msg}", ex.StatusCode, ex.Message);
gRpcLog.Debug("[gRPC] RPC 异常 (Status: {Code}): {Msg}", ex.StatusCode, ex.Message);
// 链路异常,进入重连等待阶段
await Task.Delay(5000, stoppingToken);
}
catch (Exception ex)
{
_logger.LogError("[gRPC Bus] 非预期链路异常: {Msg}5秒后尝试重连", ex.Message);
gRpcLog.Debug("[gRPC] 非预期链路异常: {Msg}5秒后尝试重连", ex.Message);
await Task.Delay(5000, stoppingToken);
}
}