fix: 将断网场景的错误日志降级为 debug 级别

- Error closing connection 降级为 debug(TLS 关闭错误是断网预期行为)
- Write failed: batchBuffer is nil 降级为 debug
- Write operation failed 降级为 debug
- 避免长时间断网恢复时日志泛滥
This commit is contained in:
wenzuhuai
2026-01-23 09:34:33 +08:00
parent cd680abe55
commit 30fb5d8b27

View File

@@ -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)