3.4.2 • Published 4 months ago

egg-logger v3.4.2

Weekly downloads
30,348
License
MIT
Repository
github
Last release
4 months ago

egg-logger

NPM version CI Test coverage Known Vulnerabilities npm download

Egg 的日志工具。

npm.io

主要由 Logger 和 Transport 两个基类组成。

Transport 是一种写入日志的渠道,可以是终端、文件等等。

Logger 是所有日志的基类,可以进行扩展。一个 Logger 可以添加多个 Transport,只要调用一次就可以将日志写入多个地方。


Install

$ npm i egg-logger

Usage

创建一个 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'));

开启/关闭 Transport

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

可以自定义一个 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');

console 默认打印级别设置

设置环境变量 NODE_CONSOLE_LOGGRE_LEVEL = 'INFO' | 'WARN' | 'ERROR'

License

MIT

Contributors

fengmk2dead-horsepopomoreatian25mansonchorwhxaxes
Jeff-Tianandy-msluckydrqXadillaXlinrfduqingyu
lix059congyuandongwaitingsong

This project follows the git-contributor spec, auto updated at Sat Dec 10 2022 21:18:13 GMT+0800.

jdd-koa-core@infinitebrahmanuniverse/nolb-egg-lts-ma-util-rpceziahz-commonutility-framework_util_rpc@everything-registry/sub-chunk-1558easy-element-admineggegg-aliyun-loggeregg-apmee-coreee-core-copyegg-mockegg-react-typescript-boilerplateegg-react-webpack-antd-boilerplateegg-react-webpack-asset-boilerplateegg-react-webpack-awesome-boilerplateegg-react-webpack-boilerplateegg-react-webpack-html-boilerplateegg-react-webpack-mpa-boilerplateegg-react-webpack-spa-boilerplateegg-react-asset-boilerplateegg-react-html-boilerplateegg-qr-logegg-consoleegg-ms-loggeregg-ms-logstashegg-cluster-yzyegg-common-utilegg-logaggregateegg-logger-remoteegg-logger-sentryegg-logger-slsegg1egg2egg3egg-development-proxyworkeregg-vue-asset-boilerplateegg-vue-element-admin-boilerplateegg-vue-html-boilerplateegg-vue-webpack-boilerplateegg-vue-webpack-mpa-boilerplateegg-vue-webpack-ssregg-sequelize-extendsegg-clusteregg-coreegg-syslogtravisxu-egg-corefgridcluster-clientdeepexi-rocketmqres-react-asset-boilerplaterocketmqrocketmq-client-nodejsrocketmq-client-nodejs-betashimo-ali-onsshimo-rocketmqsingleton-tsserversmart-easyteam-egg-react-spa-boilerplate@catalystclan/egg-logger-sls@midwayjs/definitioneasy-react-admin@gaoding/egg-hlg-logger@flybirds/framework@focusworkstemp/logger@regax/logger@serverless-cd/core@serverless-devs/loggerjeno-apijeno-cms@flybirds/interfacekejunbomb-coremy-ons@appworks/loggerax-rocketmq@ysslin/alioth@zeromake/egg-mocknodinx-clusternodinx-servermq-http-sdkbunyan-egg-logger@uniheart/egg@zhennann/egg@zhennann/egg-mock@zszc/ee-corelin-mizarlitirdali-ons-sdk@aligames/maga-openmidway-webaliyun-onspazl-logpandora-service-loggerpomelo-utilpandora-core-sdkpandorapandora-component-file-logger-serviceflybirdflybirds@icbin/core
3.4.2

4 months ago

3.4.1

6 months ago

3.4.0

8 months ago

3.3.1

11 months ago

3.3.0

1 year ago

3.2.1

1 year ago

3.2.0

1 year ago

3.1.1

1 year ago

3.1.0

1 year ago

3.0.1

1 year ago

2.9.1

1 year ago

3.0.0

1 year ago

2.9.0

2 years ago

2.8.0

2 years ago

2.7.0

2 years ago

2.7.1

2 years ago

2.6.2

3 years ago

2.6.1

3 years ago

2.6.0

3 years ago

2.5.0

3 years ago

2.4.2

4 years ago

1.8.0

5 years ago

2.4.1

5 years ago

2.4.0

5 years ago

2.3.2

5 years ago

2.3.1

5 years ago

2.3.0

5 years ago

2.2.1

5 years ago

2.2.0

5 years ago

2.1.0

5 years ago

2.0.3

5 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.7.1

6 years ago

1.7.0

6 years ago

1.6.2

6 years ago

1.6.1

6 years ago

1.6.0

7 years ago

1.5.0

7 years ago

1.4.1

7 years ago

1.4.0

7 years ago

1.3.0

8 years ago

1.2.0

8 years ago

1.1.1

8 years ago

1.1.0

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago

0.0.1

8 years ago