gpt4 book ai didi

node.js - 快速记录颜色格式

转载 作者:太空宇宙 更新时间:2023-11-04 02:15:10 25 4
gpt4 key购买 nike

这里是新手。

在express 3.2.6中,我注意到当你将日志设置为app.use(express.logger('dev'))时,stdout中的日志格式会变灰并且容易被眼睛看到(深色模式?),如下所示:

enter image description here

但是,当使用express 4.0并使用morgan在app.js中使用以下内容进行日志记录时

var morgan = require('morgan');
app.use(morgan('dev'));

登录终端是这样的

enter image description here

无论如何要使用express 4.0和morgan来获得“黑暗模式”主题进行日志记录吗?或者这仅在 Express 3.0 中可用?

看起来可以修改这个来实现这个目的吗? https://github.com/expressjs/morgan/blob/master/index.js#L183

最佳答案

好吧,您可以通过让自定义记录器尝试这个来自定义记录器颜色

//logger.js
require('colors');
var _ = require('lodash');
var config = require('../config/config');

// create a noop (no operation) function for when loggin is disabled
var noop = function () {
};
// check if loggin is enabled in the config
// if it is, then use console.log
// if not then noop
var consoleLog = config.logging ? console.log.bind(console) : noop;

var logger = {
log: function () {
var tag = '[ ✨ LOG ✨ ]'.green;
// arguments is an array like object with all the passed
// in arguments to this function
var args = _.toArray(arguments)
.map(function (arg) {
if (typeof arg === 'object') {
// turn the object to a string so we
// can log all the properties and color it
var string = JSON.stringify(arg, null, 2);
return tag + ' ' + string.cyan;
} else {
return tag + ' ' + arg.cyan;
}
});

// call either console.log or noop here
// with the console object as the context
// and the new colored args :)
consoleLog.apply(console, args);
},

error: function () {
var args = _.toArray(arguments)
.map(function (arg) {
arg = arg.stack || arg;
var name = arg.name || '[ ❌ ERROR ❌ ]';
var log = name.yellow + ' ' + arg.red;
return log;
});

consoleLog.apply(console, args);
}
};

module.exports = logger;

使用

//controller
var logger = require('./relative/path/to/logger');
logger.log('some thing');
logger.error('some thing');
// you may use custom colors and create custom functions like warning() etc

希望有帮助;)

关于node.js - 快速记录颜色格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36095090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com