emm-logger
带颜色的打印工具,支持命令选项来改变打印的级别,默认有五个级别:
debug
info
warn
error
fatal
从上往下,指定某个级别,其以及其下面的级别都会被打印。
使用 (typescript | javascript)
// const { ERROR, EmmLogger } = require('emm-logger') logger.debug'A', 'B', 'C'logger.info'a', 'b', 'c'logger.warn'X', 'Y', 'Z', logger.error'x', 'y', 'z', logger.fatal'1', '2', '3'
详细
Level
通常你并不需要知道 Level
的细节,在 EmmLogger
中预定义了五个 Level
:
DEBUG
INFO
WARN
ERROR
FATAL
在创建 EmmLogger
实例的时候指定 option 的 level
参数,即可指定默认的日志级别,但是如果创建的 logger
是输出到文件中的,则不受此命令行参数的影响
logger.debug'A', 'B', 'C'logger.info'a', 'b', 'c'logger.warn'X', 'Y', 'Z', logger.error'x', 'y', 'z', logger.fatal'1', '2', '3'
创建 EmmLogger
name
: name 是一个标志性的东西,它会作为输出的一部分(如上图所示)- options
level
:Level
的实例,指定默认的打印级别,默认值为WARN
log_path
: 这是一个文件路径,默认情况下,日志是输出在终端的,log_path
允许你将日志重定向到文件中。如果它不存在或者并非文件,你将得到一个错误消息,注意,它并不会抛出一个错误,日志内容将会继续输出到终端; 否则日志将重定向到该文件中
colorful
: 布尔值,是否带颜色输出;如果指定了一个正确的log_path
,则此值默认为 false,你仍可以通过命令行参数--log-option=colorful
来打开它;否则,默认值为 trueshow_date
: 布尔值,是否输出时间,默认值为 true,你也可以通过命令行参数--log-option=no-date
来关闭它show_pretty
: 布尔值,若为 false,每条日志都会被输出在一行,若为 true,则会展开输出,例如 JSON 会被层次化输出,默认值为 false,你仍可以通过命令参数--log-option=pretty
来打开它name_dyeing
: { (text: string)=> string },原则上是用来装饰 name 的颜色的函数,默认值为 colors.graydate_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:
然后在别的地方直接引用这个 logger。