发布我的第一个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
wow,兼容console的全部方法?用例是否可以更新详细写呢?
mark一下
用了一下,感觉很不错。赞一下!
看了一下github,readme非常详细的,还带测试。楼主要一直维护下去喔,我打算替换正在使用的非常弱的logger
8个空格是否太宽了呢,缩进几层就感觉有点太空了,个人觉得4个空格合适一点
@baryon 代码缩进的争论挺多的(好像也挺无意义的),大家有自己的习惯,只是统一的风格适合交流而已。
我用空格而不是用tab的主要原因是不同编辑器可能默认的tab对应的空格数不一致,自己又不一定总是用一个编辑器,所以,把 tab 设定为 softtab,然后宽度指为 4,这样方便我自己而已。
说的那个编辑器没听说过,扫了一眼,感觉是直接基于 aptana。
@baryon 原来被收购了啊,有空看看如何
是个好东西,果断关注
aptana github上有开源哇,eclipse平台上就是各种慢~,附加功能太多~
不错,试用中
好东西,必须收藏。
太好了,正好在找这个东西。
@baryon 新手有几个问题请问啊: 1、时间戳 默认的是ISO的时间,请问如何改成北京时间? 2、日志中的<anonymous>如何替换? 3、能否让日志即在控制台打印又在日志文件中打印呢?
2012-09-06T08:53:25.563Z <info> E:\WebstormProjects\node_im\lib\wx_api.js:78 (ClientRequest. <anonymous>)
mark
试用过,不过还是感谢楼主分享
你好,想请教个问题,上线的时候,如果我只想输出error级别的日志到文件,轻级别的不输出到日志文件,该如何配置呢? 不需要手动去删除掉用来debug的日志代码吧?