Skip to content

beautywe/plugin-logger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)

Releases

No releases published

Packages

No packages published