日志优化。

pull/375/head
王良 2 months ago
parent cd08c42837
commit 3b712d6950

@ -1,6 +1,7 @@
const http = require('http')
const https = require('https')
const commonUtil = require('../common/util')
const jsonApi = require('../../../json')
// const upgradeHeader = /(^|,)\s*upgrade\s*($|,)/i
const DnsUtil = require('../../dns/index')
const log = require('../../../utils/util.log')
@ -105,7 +106,7 @@ module.exports = function createRequestHandler (createIntercepts, middlewares, e
function onFree () {
url = `${rOptions.method}${rOptions.protocol}//${rOptions.hostname}:${rOptions.port}${rOptions.path}`
const start = new Date()
log.info('发起代理请求:', url, (rOptions.servername ? ', sni: ' + rOptions.servername : ''))
log.info('发起代理请求:', url, (rOptions.servername ? ', sni: ' + rOptions.servername : ''), ', headers:', rOptions.headers)
const isDnsIntercept = {}
if (dnsConfig && dnsConfig.providers) {
@ -149,7 +150,7 @@ module.exports = function createRequestHandler (createIntercepts, middlewares, e
proxyReq.on('timeout', () => {
const cost = new Date() - start
const errorMsg = `代理请求超时: ${url}, cost: ${cost} ms`
log.error(errorMsg)
log.error(errorMsg, ', rOptions:', jsonApi.stringify2(rOptions))
countSlow(isDnsIntercept, `代理请求超时, cost: ${cost} ms`)
proxyReq.end()
proxyReq.destroy()
@ -159,14 +160,14 @@ module.exports = function createRequestHandler (createIntercepts, middlewares, e
})
proxyReq.on('error', (e) => {
const cost = new Date() - start
log.error(`代理请求错误: ${url}, cost: ${cost} ms, error:`, e)
log.error(`代理请求错误: ${url}, cost: ${cost} ms, error:`, e, ', rOptions:', jsonApi.stringify2(rOptions))
countSlow(isDnsIntercept, '代理请求错误: ' + e.message)
reject(e)
})
proxyReq.on('aborted', () => {
const cost = new Date() - start
const errorMsg = `代理请求被取消: ${url}, cost: ${cost} ms`
log.error(errorMsg)
log.error(errorMsg, ', rOptions:', jsonApi.stringify2(rOptions))
if (cost > MAX_SLOW_TIME) {
countSlow(isDnsIntercept, `代理请求被取消,且请求太慢, cost: ${cost} ms > ${MAX_SLOW_TIME} ms`)
@ -182,7 +183,7 @@ module.exports = function createRequestHandler (createIntercepts, middlewares, e
req.on('aborted', function () {
const cost = new Date() - start
const errorMsg = `请求被取消: ${url}, cost: ${cost} ms`
log.error(errorMsg)
log.error(errorMsg, ', rOptions:', jsonApi.stringify2(rOptions))
proxyReq.abort()
if (res.writableEnded) {
return
@ -191,13 +192,13 @@ module.exports = function createRequestHandler (createIntercepts, middlewares, e
})
req.on('error', function (e, req, res) {
const cost = new Date() - start
log.error(`请求错误: ${url}, cost: ${cost} ms, error:`, e)
log.error(`请求错误: ${url}, cost: ${cost} ms, error:`, e, ', rOptions:', jsonApi.stringify2(rOptions))
reject(e)
})
req.on('timeout', () => {
const cost = new Date() - start
const errorMsg = `请求超时: ${url}, cost: ${cost} ms`
log.error(errorMsg)
log.error(errorMsg, ', rOptions:', jsonApi.stringify2(rOptions))
reject(new Error(errorMsg))
})
req.pipe(proxyReq)

Loading…
Cancel
Save