fix: 去除logger自动添加metadata字段

This commit is contained in:
shaw
2025-08-20 21:45:24 +08:00
parent d27c84b13b
commit 4aa562be21
4 changed files with 30 additions and 16 deletions

View File

@@ -573,7 +573,16 @@ async function handleGenerateContent(req, res) {
res.json(response) res.json(response)
} catch (error) { } catch (error) {
const version = req.path.includes('v1beta') ? 'v1beta' : 'v1internal' const version = req.path.includes('v1beta') ? 'v1beta' : 'v1internal'
logger.error(`Error in generateContent endpoint (${version})`, { error: error.message }) // 打印详细的错误信息
logger.error(`Error in generateContent endpoint (${version})`, {
message: error.message,
status: error.response?.status,
statusText: error.response?.statusText,
responseData: error.response?.data,
requestUrl: error.config?.url,
requestMethod: error.config?.method,
stack: error.stack
})
res.status(500).json({ res.status(500).json({
error: { error: {
message: error.message || 'Internal server error', message: error.message || 'Internal server error',
@@ -756,7 +765,16 @@ async function handleStreamGenerateContent(req, res) {
}) })
} catch (error) { } catch (error) {
const version = req.path.includes('v1beta') ? 'v1beta' : 'v1internal' const version = req.path.includes('v1beta') ? 'v1beta' : 'v1internal'
logger.error(`Error in streamGenerateContent endpoint (${version})`, { error: error.message }) // 打印详细的错误信息
logger.error(`Error in streamGenerateContent endpoint (${version})`, {
message: error.message,
status: error.response?.status,
statusText: error.response?.statusText,
responseData: error.response?.data,
requestUrl: error.config?.url,
requestMethod: error.config?.method,
stack: error.stack
})
if (!res.headersSent) { if (!res.headersSent) {
res.status(500).json({ res.status(500).json({

View File

@@ -82,7 +82,8 @@ async function getOpenAIAuthToken(apiKeyData, sessionId = null, requestedModel =
accessToken, accessToken,
accountId: result.accountId, accountId: result.accountId,
accountName: account.name, accountName: account.name,
proxy proxy,
account
} }
} catch (error) { } catch (error) {
logger.error('Failed to get OpenAI auth token:', error) logger.error('Failed to get OpenAI auth token:', error)
@@ -148,7 +149,7 @@ router.post('/responses', authenticateApiKey, async (req, res) => {
} }
// 使用调度器选择账户 // 使用调度器选择账户
const { accessToken, accountId, proxy } = await getOpenAIAuthToken( const { accessToken, accountId, accountName, proxy, account } = await getOpenAIAuthToken(
apiKeyData, apiKeyData,
sessionId, sessionId,
requestedModel requestedModel
@@ -167,7 +168,7 @@ router.post('/responses', authenticateApiKey, async (req, res) => {
// 覆盖或新增必要头部 // 覆盖或新增必要头部
headers['authorization'] = `Bearer ${accessToken}` headers['authorization'] = `Bearer ${accessToken}`
headers['chatgpt-account-id'] = accountId headers['chatgpt-account-id'] = account.chatgptUserId || account.accountId || accountId
headers['host'] = 'chatgpt.com' headers['host'] = 'chatgpt.com'
headers['accept'] = isStream ? 'text/event-stream' : 'application/json' headers['accept'] = isStream ? 'text/event-stream' : 'application/json'
headers['content-type'] = 'application/json' headers['content-type'] = 'application/json'

View File

@@ -60,8 +60,8 @@ const safeStringify = (obj, maxDepth = 3, fullDepth = false) => {
const createLogFormat = (colorize = false) => { const createLogFormat = (colorize = false) => {
const formats = [ const formats = [
winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
winston.format.errors({ stack: true }), winston.format.errors({ stack: true })
winston.format.metadata({ fillExcept: ['message', 'level', 'timestamp', 'stack'] }) // 移除 winston.format.metadata() 来避免自动包装
] ]
if (colorize) { if (colorize) {
@@ -69,7 +69,7 @@ const createLogFormat = (colorize = false) => {
} }
formats.push( formats.push(
winston.format.printf(({ level, message, timestamp, stack, metadata, ...rest }) => { winston.format.printf(({ level, message, timestamp, stack, ...rest }) => {
const emoji = { const emoji = {
error: '❌', error: '❌',
warn: '⚠️ ', warn: '⚠️ ',
@@ -80,12 +80,7 @@ const createLogFormat = (colorize = false) => {
let logMessage = `${emoji[level] || '📝'} [${timestamp}] ${level.toUpperCase()}: ${message}` let logMessage = `${emoji[level] || '📝'} [${timestamp}] ${level.toUpperCase()}: ${message}`
// 添加元数据 // 直接处理额外数据不需要metadata包装
if (metadata && Object.keys(metadata).length > 0) {
logMessage += ` | ${safeStringify(metadata)}`
}
// 添加其他属性
const additionalData = { ...rest } const additionalData = { ...rest }
delete additionalData.level delete additionalData.level
delete additionalData.message delete additionalData.message

View File

@@ -2081,8 +2081,8 @@ const updateAccount = async () => {
} }
} }
if (props.account.platform === 'gemini' && form.value.projectId) { if (props.account.platform === 'gemini') {
data.projectId = form.value.projectId data.projectId = form.value.projectId || ''
} }
// Claude 官方账号优先级和订阅类型更新 // Claude 官方账号优先级和订阅类型更新