npm

Ready to take your JavaScript development to the next level? Meet npm Enterprise - the ultimate in enterprise JavaScript. Learn more »

emm-logger

0.1.5 • Public • Published

emm-logger

带颜色的打印工具,支持命令选项来改变打印的级别,默认有五个级别:

  • debug
  • info
  • warn
  • error
  • fatal

从上往下,指定某个级别,其以及其下面的级别都会被打印。

使用 (typescript | javascript)

import { ERROR, EmmLogger } from '../index'
// const { ERROR, EmmLogger } = require('emm-logger')
 
 
let logger = new EmmLogger('demo', {
  'level': ERROR,
  'show_date': true,
})
 
 
logger.debug('A', 'B', 'C')
logger.info('a', 'b', 'c')
logger.warn('X', 'Y', 'Z', { a: 1, b: 2})
logger.error('x', 'y', 'z', { c: { a: 'hello' }, b: { d: 'world' } })
logger.fatal('1', '2', '3')

out out

详细

Level

通常你并不需要知道 Level 的细节,在 EmmLogger 中预定义了五个 Level

  • DEBUG
  • INFO
  • WARN
  • ERROR
  • FATAL

在创建 EmmLogger 实例的时候指定 option 的 level 参数,即可指定默认的日志级别,但是如果创建的 logger 是输出到文件中的,则不受此命令行参数的影响

import { ERROR, EmmLogger } from '../index'
 
 
let logger = new EmmLogger('demo', {
  'level': ERROR,
  'show_date': true,
})
 
 
logger.debug('A', 'B', 'C')
logger.info('a', 'b', 'c')
logger.warn('X', 'Y', 'Z', { a: 1, b: 2})
logger.error('x', 'y', 'z', { c: { a: 'hello' }, b: { d: 'world' } })
logger.fatal('1', '2', '3')

out

创建 EmmLogger

let logger = new EmmLogger(<logger name>, <options>)
  • name: name 是一个标志性的东西,它会作为输出的一部分(如上图所示)
  • options
    • level: Level 的实例,指定默认的打印级别,默认值为 WARN
    • log_path: 这是一个文件路径,默认情况下,日志是输出在终端的,log_path 允许你将日志重定向到文件中。

      如果它不存在或者并非文件,你将得到一个错误消息,注意,它并不会抛出一个错误,日志内容将会继续输出到终端; 否则日志将重定向到该文件中

    • colorful: 布尔值,是否带颜色输出;如果指定了一个正确的 log_path,则此值默认为 false,你仍可以通过命令行参数 --log-option=colorful 来打开它;否则,默认值为 true
    • show_date: 布尔值,是否输出时间,默认值为 true,你也可以通过命令行参数 --log-option=no-date 来关闭它
    • show_pretty: 布尔值,若为 false,每条日志都会被输出在一行,若为 true,则会展开输出,例如 JSON 会被层次化输出,默认值为 false,你仍可以通过命令参数 --log-option=pretty 来打开它
    • name_dyeing: { (text: string)=> string },原则上是用来装饰 name 的颜色的函数,默认值为 colors.gray
    • date_dyeing: { (text: string)=> string },原则上是用来装饰 date 的颜色的函数,默认值为 colors.gray

命令行参数

  • --log-level=<debug|info|warn|error|fatal>,强行指定所有的 EmmLogger 实例的打印级别
  • --log-option=<[no-](date|pretty|colorful)>,其中 no- 前缀表示否定

推荐写法

可以在一个诸如 utils.ts 中定义全局唯一的 logger:

import { EmmLogger } from 'emm-logger'
 
 
export const logger = new EmmLogger('emm.', { log_path: 'log.txt' })

然后在别的地方直接引用这个 logger。

install

npm i emm-logger

Downloadsweekly downloads

11

version

0.1.5

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability