diff --git a/Sources/Nats/NatsConnection.swift b/Sources/Nats/NatsConnection.swift index 11504cc..07c0f77 100644 --- a/Sources/Nats/NatsConnection.swift +++ b/Sources/Nats/NatsConnection.swift @@ -987,7 +987,8 @@ class ConnectionHandler: ChannelInboundHandler { try result.get() self.fire(.disconnected) } catch { - logger.error("Error closing connection: \(error)") + // 降级为 debug:网络断开时 TLS 无法完成正常关闭握手是预期行为 + logger.debug("Connection closed with error (will reconnect): \(error)") } // Only start reconnect after disconnect is complete self.handleReconnect() @@ -1060,7 +1061,8 @@ class ConnectionHandler: ChannelInboundHandler { // Trigger reconnect to recover let currentState = state.withLockedValue { $0 } if currentState == .connected { - logger.error("Write failed: batchBuffer is nil but state is connected, triggering reconnect") + // 降级为 debug:这是断网恢复场景的正常状态 + logger.debug("Write failed: batchBuffer is nil, triggering reconnect") handleDisconnect() } throw NatsError.ClientError.invalidConnection("not connected") @@ -1071,7 +1073,8 @@ class ConnectionHandler: ChannelInboundHandler { // Trigger reconnect on write failure - connection may be broken let currentState = state.withLockedValue { $0 } if currentState == .connected { - logger.error("Write operation failed, triggering reconnect: \(error)") + // 降级为 debug:网络断开时写入失败是预期行为 + logger.debug("Write operation failed, triggering reconnect: \(error)") handleDisconnect() } throw NatsError.ClientError.io(error)