Intro
Logger plugin for BeautyWe.
Feature
- 可控制的 log level
- 自定义前缀
- 轻量,简单
适用性
适用 BeautyWe.BtPage
, BeautyWe.BtApp
安装
$ npm i @beautywe/plugin-logger
import BeautyWe from '@beautywe/core';
import logger from '@beautywe/plugin-logger';
const page = new BeautyWe.BtPage();
page.use(logger({
// options
}));
使用
API
page.logger.info('this is info');
page.logger.warn('this is warn');
page.logger.error('this is error');
page.logger.debug('this is debug');
// 输出
// [info] this is info
// [warn] this is warn
// [error] this is error
// [debug] this is debug
Level control
可通过配置来控制哪些 level 该打印:
page.use(logger({
level: 'warn',
}));
那么 warn
以上的 log (info
, debug
)就不会被打印,这种满足于开发和生成环境对 log 的不同需求。
level 等级如下:
Logger.LEVEL = {
error: 1,
warn: 2,
info: 3,
debug: 4,
};
Prefix
page.use(logger({
prefix: 'beautywe',
}));
page.logger.info('this is info');
// 输出
// [beautywe:info] this is info
Custom title
page.logger.info('this is info');
// 输出
// [info] this is info
其中 [info]
部分,被称为 title,这部分允许自定义的:
page.use(logger({
titleTemplate({ prefix, levelName }) {
return prefix ? `[${prefix}:${levelName}]` : `[${levelName}]`;
}
}));
Handler
支持监听各种 log,以支持诸如:「错误日志,需要上报」这种需求:
page.use(logger({
onError(...args) {
// do your logic
},
onWarn(...args) {
// do your logic
},
onInfo(...args) {
// do your logic
},
onDebug(...args) {
// do your logic
},
}));
License
This project is licensed under the MIT license.
Copyright (c) JerryC Huang (huangjerryc@gmail.com)