mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-22 16:43:35 +00:00
Merge pull request #791 from DaydreamCoding/feature/log-opt
fix: improve logging for client disconnections in relay services
This commit is contained in:
@@ -478,7 +478,14 @@ class CcrRelayService {
|
|||||||
// 更新最后使用时间
|
// 更新最后使用时间
|
||||||
await this._updateLastUsedTime(accountId)
|
await this._updateLastUsedTime(accountId)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(`❌ CCR stream relay failed (Account: ${account?.name || accountId}):`, error)
|
// 客户端主动断开连接是正常情况,使用 INFO 级别
|
||||||
|
if (error.message === 'Client disconnected') {
|
||||||
|
logger.info(
|
||||||
|
`🔌 CCR stream relay ended: Client disconnected (Account: ${account?.name || accountId})`
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
logger.error(`❌ CCR stream relay failed (Account: ${account?.name || accountId}):`, error)
|
||||||
|
}
|
||||||
throw error
|
throw error
|
||||||
} finally {
|
} finally {
|
||||||
// 📬 释放用户消息队列锁(兜底,正常情况下已在收到响应头后提前释放)
|
// 📬 释放用户消息队列锁(兜底,正常情况下已在收到响应头后提前释放)
|
||||||
|
|||||||
@@ -659,10 +659,17 @@ class ClaudeConsoleRelayService {
|
|||||||
// 更新最后使用时间
|
// 更新最后使用时间
|
||||||
await this._updateLastUsedTime(accountId)
|
await this._updateLastUsedTime(accountId)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(
|
// 客户端主动断开连接是正常情况,使用 INFO 级别
|
||||||
`❌ Claude Console stream relay failed (Account: ${account?.name || accountId}):`,
|
if (error.message === 'Client disconnected') {
|
||||||
error
|
logger.info(
|
||||||
)
|
`🔌 Claude Console stream relay ended: Client disconnected (Account: ${account?.name || accountId})`
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
logger.error(
|
||||||
|
`❌ Claude Console stream relay failed (Account: ${account?.name || accountId}):`,
|
||||||
|
error
|
||||||
|
)
|
||||||
|
}
|
||||||
throw error
|
throw error
|
||||||
} finally {
|
} finally {
|
||||||
// 🛑 清理租约刷新定时器
|
// 🛑 清理租约刷新定时器
|
||||||
|
|||||||
@@ -1452,7 +1452,12 @@ class ClaudeRelayService {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(`❌ Claude stream relay with usage capture failed:`, error)
|
// 客户端主动断开连接是正常情况,使用 INFO 级别
|
||||||
|
if (error.message === 'Client disconnected') {
|
||||||
|
logger.info(`🔌 Claude stream relay ended: Client disconnected`)
|
||||||
|
} else {
|
||||||
|
logger.error(`❌ Claude stream relay with usage capture failed:`, error)
|
||||||
|
}
|
||||||
throw error
|
throw error
|
||||||
} finally {
|
} finally {
|
||||||
// 📬 释放用户消息队列锁(兜底,正常情况下已在收到响应头后提前释放)
|
// 📬 释放用户消息队列锁(兜底,正常情况下已在收到响应头后提前释放)
|
||||||
|
|||||||
@@ -336,7 +336,12 @@ class DroidRelayService {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(`❌ Droid relay error: ${error.message}`, error)
|
// 客户端主动断开连接是正常情况,使用 INFO 级别
|
||||||
|
if (error.message === 'Client disconnected') {
|
||||||
|
logger.info(`🔌 Droid relay ended: Client disconnected`)
|
||||||
|
} else {
|
||||||
|
logger.error(`❌ Droid relay error: ${error.message}`, error)
|
||||||
|
}
|
||||||
|
|
||||||
const status = error?.response?.status
|
const status = error?.response?.status
|
||||||
if (status >= 400 && status < 500) {
|
if (status >= 400 && status < 500) {
|
||||||
|
|||||||
Reference in New Issue
Block a user