morgan模块格式扩展

在原有格式’dev’的基础上加上日期,方便查看请求状态


var morgan = require('morgan');
var _ = require('lodash');

morgan.token('date_now', function getDateToken(req, res) {
    var date = new Date();
    return "" + date.getFullYear() +
        _.padStart(date.getMonth()+1,2,'0') +
        _.padStart(date.getDate(),2,'0') + '/' +
        _.padStart(date.getHours(),2,'0') + ':' +
        _.padStart(date.getMinutes(),2,'0') + ':' +
        _.padStart(date.getSeconds(),2,'0');
});

morgan.format('dev2', function developmentFormatLine(tokens, req, res) {
    // get the status code if response written
    var status = res._header
        ? res.statusCode
        : undefined

    // get status color
    var color = status >= 500 ? 31 // red
        : status >= 400 ? 33 // yellow
        : status >= 300 ? 36 // cyan
        : status >= 200 ? 32 // green
        : 0 // no color

    // get colored function
    var fn = developmentFormatLine[color]

    if (!fn) {
        // compile
        fn = developmentFormatLine[color] = morgan.compile('\x1b[34m:date_now \x1b[0m:method :url \x1b[' + color + 'm:status \x1b[0m:response-time ms - :res[content-length]\x1b[0m')
    }

    return fn(tokens, req, res)
});
module.exports = morgan;

输出颜色控制:

echo -e "\033[34m hahaha"
echo -e "\x1b[34m hahaha"

\033或\x1b为标记
[34m设定颜色
具体请参考:ANSI的Escape序列屏幕控制码


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值