jdf-log
jdf使用的日志模块,基于winston
Methods
- level(levelName) get/set 设置日志优先级,采用npm的level方式,共5个日志级别
error: 0 warn: 1 info: 2 verbose: 3 debug: 4 silly: 5
日志级别越高,显示的内容越多
。如果不给参数,就返回当前的日志级别,如果给定参数就设置成需要的级别。
- profile(name,[startFormatter], [endFormatter]) 获取某个函数的执行时间,开始调用一次,结束调用一次,startFormatter和endFormatter为可选参数,如果不提供则会有一个默认的日志输出。默认的格式是:
`Starting ''...``Finished '' after ms`
你可以提供自定义的输出,注意他们的参数,startFormatter给定的是name,而endFormatter给定的是name和timeSpan,timeSpan单位是ms,你可以仅在开始的时候提供startFormatter和endFormatter:
const startFn = {logger;}const endFn = {logger}loggerprofile'test command' startFn endFn;;// outputRun test commandFinish test command used about 1234 ms
- error(), warn(), info(), verbose(), debug(), silly() 参考winston的对应函数
Work in jdf
jdf的入口处获取参数,看是否需要verbose方式,内部的日志,常规显示的可以用logger.info(),需要啰嗦模式的就用logger.verbose(),当然如果需要更啰嗦的方式,可以用logger.debug(),根据入口的配置设置显示的level级别即可,现在 verbose 级别的日志级别名称,会在最后展示的时候设置成info,主要是为了统一,其他的都还是原来的日志级别的名字
一个简单的demo
const logger = ;logger;loggerprofile'output';logger;logger;logger;logger; // 当前日志级别是verbose,所有silly级别的日志不会显示logger;logger;;
输出为:
[09:58:27] Starting 'output'...[09:58:27] WARN Hello distributed log files! 123 aaa 777[09:58:27] INFO this is step one[09:58:27] INFO this is step two[09:58:27] ERROR this is an error[09:58:27] INFO Verboseeeeeeeeeeeeeeeeeee![09:58:28] Finished 'output' after 1012 ms