tracer:发布我的第一个npm package, 可以取代console的,支持强大配置的log输出库
发布于 13 年前 作者 baryon 14567 次预览 最后一次回复是 7 年前 来自
发布我的第一个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
22 回复
wow,兼容console的全部方法?用例是否可以更新详细写呢?
可以取代console的,支持强大的配置。 支持输出到文件,流,数据库(比如mongodb)等等。 支持过滤器功能,因此你看到一个可以支持彩色Console输出的功能。
mark一下
用了一下,感觉很不错。赞一下!
谢谢
看了一下github,readme非常详细的,还带测试。楼主要一直维护下去喔,我打算替换正在使用的非常弱的logger
8个空格是否太宽了呢,缩进几层就感觉有点太空了,个人觉得4个空格合适一点
代码的缩进以及格式,我完全让编辑器来做, 这也是我一直不喜欢python的地方,凭什么写个代码还要控制有几个空格啊,还要区分tab和空格的区别啊。 这种工作明明应该用工具来做的。
我使用的是Titanium Studio,他可以很好地帮助我把Javascript的格式搞定,当然也有bug,也有不理想的地方,这时候可以考虑 [JS Beautifier]](http://jsbeautifier.org/)
@baryon 代码缩进的争论挺多的(好像也挺无意义的),大家有自己的习惯,只是统一的风格适合交流而已。
我用空格而不是用tab的主要原因是不同编辑器可能默认的tab对应的空格数不一致,自己又不一定总是用一个编辑器,所以,把 tab 设定为 softtab,然后宽度指为 4,这样方便我自己而已。
说的那个编辑器没听说过,扫了一眼,感觉是直接基于 aptana。
现存的一些log库确实太差了,要么功能不足,要么过度设计,我考察过 winston,basic-logger,yalog等等npm上容易检索到的几个库,都不满意,只好自己写。 尽可能地简单,容易定制,不过度依赖太多的第三方库。欢迎大家使用。
@liunian 是收购了aptana,用javascript开发ios,android的利器,杀气很重的装备,建议立即配置
@baryon 原来被收购了啊,有空看看如何
是个好东西,果断关注
aptana github上有开源哇,eclipse平台上就是各种慢~,附加功能太多~
不错,试用中
好东西,必须收藏。
太好了,正好在找这个东西。
@baryon 新手有几个问题请问啊: 1、时间戳 默认的是ISO的时间,请问如何改成北京时间? 2、日志中的<anonymous>如何替换? 3、能否让日志即在控制台打印又在日志文件中打印呢?
mark
试用过,不过还是感谢楼主分享
你好,想请教个问题,上线的时候,如果我只想输出error级别的日志到文件,轻级别的不输出到日志文件,该如何配置呢? 不需要手动去删除掉用来debug的日志代码吧?
@yuanlingqi 改变config里的level, 从log,改成warn