$ npm install egg-logger
Egg 的日志工具。
主要由 Logger 和 Transport 两个基类组成。
Transport 是一种写入日志的渠道,可以是终端、文件等等。
Logger 是所有日志的基类,可以进行扩展。一个 Logger 可以添加多个 Transport,只要调用一次就可以将日志写入多个地方。
$ npm i egg-logger
创建一个 Logger,添加一个文件的 Transport
const Logger = require('egg-logger').Logger;
const FileTransport = require('egg-logger').FileTransport;
const ConsoleTransport = require('egg-logger').ConsoleTransport;
const logger = new Logger();
logger.set('file', new FileTransport({
file: '/path/to/file',
level: 'INFO',
}));
logger.set('console', new ConsoleTransport({
level: 'DEBUG',
}));
logger.debug('debug foo'); // 不会输出到文件,只输出到终端
logger.info('info foo');
logger.warn('warn foo');
logger.error(new Error('error foo'));
logger.disable('file');
logger.info('info'); // 不会输出
logger.enable('file');
logger.info('info'); // 开启后会输出
可以把日志复制一份到指定的日志对象,支持可选的 options.excludes
来排除对应的 tranport
logger.duplicate('error', errorLogger, { excludes: [ 'console' ] });
logger.error(new Error('print to errorLogger')); // 会多调用一次 `errorLogger.error`
可以将日志重定向到指定的日志对象
oneLogger.redirect('debug', debugLogger); // oneLogger 的调试日志将被 debugLogger 接管,输出过去。
logger.reload(); // will end the exists write stream and create a new one.
可以自定义一个 Transport 用于输出日志,比如发送到服务器。
const urllib = require('urllib');
const Transport = require('egg-logger').Transport;
class UrllibTransport extends Transport {
log(level, args, meta) {
const msg = super.log(level, args, meta);
return urllib.request('url?msg=' + msg);
}
}
const logger = new Logger();
logger.set('remote', new UrllibTransport({
level: 'DEBUG',
}));
logger.info('info');
设置环境变量 NODE_CONSOLE_LOGGRE_LEVEL = 'INFO' | 'WARN' | 'ERROR'
fengmk2 |
dead-horse |
popomore |
atian25 |
semantic-release-bot |
mansonchor |
---|---|---|---|---|---|
whxaxes |
Jeff-Tian |
waitingsong |
sjfkai |
congyuandong |
lix059 |
killagu |
duqingyu |
AmazingCaddy |
linrf |
XadillaX |
luckydrq |
This project follows the git-contributor spec, auto updated at Wed May 08 2024 09:39:22 GMT+0800
.
© 2010 - cnpmjs.org x YWFE | Home | YWFE