当前位置: 首页 > 工具软件 > morgan > 使用案例 >

morgan日志时间时区设置

屈翰飞
2023-12-01

nodejs的express框架写应用,其中用到了morgan日志模块。下面是其中的一种格式设置方式:

morgan.format('combined', ':remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"')

其中的日期数据:date格式有三种:clf  web  iso

combined:

:remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"

 

修改默认时区: 通过morgan.token()自定义token,然后将自定义的token,加入自定义的format中即可。

var express = require('express');
var app = express();
var morgan = require('morgan');

// 自定义token
morgan.token('localDate',function getDate(req) {
  let date = new Date();
  return date.toLocaleString()
})

// 自定义format,其中包含自定义的token
morgan.format('combined', ':remote-addr - :remote-user [:localDate]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"');

// 使用自定义的format
app.use(morgan('combined'));

app.use(function(req, res, next){
    res.send('ok');
});

app.listen(3000);

输出:

::1 - - [2019-6-13 20:17:47]] "GET /api/blog/detail?id=2 HTTP/1.0" 304 - "http://localhost:8080/detail.html?id=2" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36"

 

参照: https://github.com/chyingp/nodejs-learning-guide/blob/master/%E8%BF%9B%E9%98%B6/%E6%97%A5%E5%BF%97%E6%A8%A1%E5%9D%97morgan.md

 类似资料: