1

我怎样才能返回摩根组合格式字符串

async function sample(){
  const res = await axios.get("http://localhost:3000/sample")
  const morganFormattedString = morgan('combined', {stream: {write: res => res }}) 
}

res将是一个对象,我需要将 res 的对象转换为以下字符串,这是由 morgan 在内部完成的

::ffff:127.0.0.1 - - [18/Jan/2019:04:59:10 +0000] "GET /sample HTTP/1.1" 200 2 " http://localhost/ " "Mozilla/5.0 (linux) AppleWebKit /537.36(KHTML,像 Gecko)jsdom/11.12.0"

4

1 回答 1

1

morgan返回应该用于记录传入请求的服务器端中间件。您正在尝试在客户端使用它来记录传出请求,这不是它的目的。对于您要完成的工作应该可以,但是为了让它以格式记录请求,您必须自己配置它axios-debug-logcombined

作为参考,这是morgan当前定义combined日志格式的方式:

morgan.format('combined', ':remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"')
于 2019-01-18T09:20:15.767 回答