发布我的第一个npm package
支持彩色输出,文件名,行号,方法名的输出,很容易地支持输出到数据库
一个非常强大的支持配置的log输出库
功能
- 输出log时,带有时间戳,文件名,行号函数名,甚至是调用堆栈
- 输出的log格式支持定制
- 支持自定义的输出函数名
- 支持输出到文件,流,数据库(比如mongodb)等等
- 支持过滤器功能,因此你看到一个可以支持彩色Console输出的功能
安装
npm install tracer
用法
普通用法
var logger = require('tracer').console();
彩色Console
var logger = require('tracer').colorConsole();
定制输出级别
var logger = require('tracer').colorConsole({level:2});
缺省的输出方法为
'log’, 'trace’, 'debug’, 'info’, 'warn’, ‘error’
logger.log('hello');
logger.trace('hello', 'world');
logger.debug('hello %s', 'world', 123);
logger.info('hello %s %d', 'world', 123, {foo:'bar'});
logger.warn('hello %s %d %j', 'world', 123, {foo:'bar'});
logger.error('hello %s %d %j', 'world', 123, {foo:'bar'}, [1, 2, 3, 4], Object);
完全支持类似printf的输出, 支持%s字符串, %d数字, %j JSON,同时可以自己检测输出内容的类型
更多例子参见examples目录
全部文档见GITHUB https://github.com/baryon/tracer
18 回复
@baryon 代码缩进的争论挺多的(好像也挺无意义的),大家有自己的习惯,只是统一的风格适合交流而已。
我用空格而不是用tab的主要原因是不同编辑器可能默认的tab对应的空格数不一致,自己又不一定总是用一个编辑器,所以,把 tab 设定为 softtab,然后宽度指为 4,这样方便我自己而已。
说的那个编辑器没听说过,扫了一眼,感觉是直接基于 aptana。
@baryon 新手有几个问题请问啊: 1、时间戳 默认的是ISO的时间,请问如何改成北京时间? 2、日志中的<anonymous>如何替换? 3、能否让日志即在控制台打印又在日志文件中打印呢?
2012-09-06T08:53:25.563Z <info> E:\WebstormProjects\node_im\lib\wx_api.js:78 (ClientRequest. <anonymous>)