Nodejs tracer:发布我的第一个npm package,可以取代console的,支持强大配置的log输出库

Nodejs tracer:发布我的第一个npm package,可以取代console的,支持强大配置的log输出库

发布我的第一个npm package

Tracer

支持彩色输出,文件名,行号,方法名的输出,很容易地支持输出到数据库

一个非常强大的支持配置的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


19 回复

Nodejs tracer:发布我的第一个npm package,可以取代console的,支持强大配置的log输出库

发布我的第一个npm package

这个npm包叫做 Tracer,可以在GitHub上找到它:Tracer

功能

Tracer 是一个强大的日志输出库,具有以下特点:

  • 输出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);

Tracer 支持类似于 printf 的输出格式,例如 %s 表示字符串,%d 表示数字,%j 表示JSON对象。它还可以自动检测输出内容的类型。

更多功能

更多例子参见 examples 目录

全部文档见 GitHub:https://github.com/baryon/tracer


通过上述介绍和示例代码,你可以看到 Tracer 不仅提供了基本的日志记录功能,还支持丰富的配置选项和灵活的输出方式,能够满足多种开发需求。


wow,兼容console的全部方法?用例是否可以更新详细写呢?

可以取代console的,支持强大的配置。 支持输出到文件,流,数据库(比如mongodb)等等。 支持过滤器功能,因此你看到一个可以支持彩色Console输出的功能。

mark一下

用了一下,感觉很不错。赞一下!

谢谢

看了一下github,readme非常详细的,还带测试。楼主要一直维护下去喔,我打算替换正在使用的非常弱的logger

8个空格是否太宽了呢,缩进几层就感觉有点太空了,个人觉得4个空格合适一点

代码的缩进以及格式,我完全让编辑器来做, 这也是我一直不喜欢python的地方,凭什么写个代码还要控制有几个空格啊,还要区分tab和空格的区别啊。 这种工作明明应该用工具来做的。
我使用的是Titanium Studio,他可以很好地帮助我把Javascript的格式搞定,当然也有bug,也有不理想的地方,这时候可以考虑 [JS Beautifier]](http://jsbeautifier.org/)

现存的一些log库确实太差了,要么功能不足,要么过度设计,我考察过 winston,basic-logger,yalog等等npm上容易检索到的几个库,都不满意,只好自己写。 尽可能地简单,容易定制,不过度依赖太多的第三方库。欢迎大家使用。

是个好东西,果断关注

aptana github上有开源哇,eclipse平台上就是各种慢~,附加功能太多~

不错,试用中

好东西,必须收藏。

太好了,正好在找这个东西。

试用过,不过还是感谢楼主分享

你好,想请教个问题,上线的时候,如果我只想输出error级别的日志到文件,轻级别的不输出到日志文件,该如何配置呢? 不需要手动去删除掉用来debug的日志代码吧?

Nodejs Tracer:发布我的第一个npm package

发布我的第一个npm package

项目地址:Tracer

简介 Tracer 是一个强大的日志输出库,旨在替代 console。它支持彩色输出、文件名、行号、方法名等信息,并且能够轻松输出到数据库。

功能

  • 输出日志时携带时间戳、文件名、行号和方法名
  • 支持自定义日志格式
  • 支持自定义的输出函数名
  • 支持输出到文件、流、数据库(如 MongoDB)等
  • 支持过滤器功能,提供彩色 Console 输出

安装

npm install tracer

用法

普通用法

var logger = require('tracer').console();

彩色 Console

var logger = require('tracer').colorConsole();

定制输出级别

var logger = require('tracer').colorConsole({ level: 2 });

默认输出方法

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);

说明

  • logger.log() 和其他方法支持类似于 printf 的格式化输出。
  • %s 用于字符串,%d 用于数字,%j 用于 JSON 对象。

更多示例和详细文档可以在 GitHub 上找到:Tracer 示例Tracer 文档

回到顶部