Skip to content
Logger plugin for BeautyWe
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
src
test
.babelrc
.eslintignore
.eslintrc
.gitignore
.npmignore
LICENSE
README.md
package.json

README.md

Intro

Logger plugin for BeautyWe.

CircleCI NPM Version NPM Downloads npm bundle size Coverage Status

Feature

  1. 可控制的 log level
  2. 自定义前缀
  3. 轻量,简单

适用性

适用 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)

You can’t perform that action at this time.