Abstract Logging Facade for Nodejs

今天向nodejs邮件列表发了一封关于Logging Facade的邮件,以我的英文一定错漏百出,能看懂就行了。贴在这里,跟没订阅列表的朋友们分享一下。

Long long ago, there are several logging system in java community, such as Jakarakt Common Logging, log4j and Java.utils.Logger, many libraries depends on one logging system, the high-level applications have to include different logging system in one app, at last a new project called SLF4J(Simple Log Facade for java) comes out try to terminate this chaotic situation.

Actually what SLF4j has done should be done by java SE, but what JUL try to do is logging but not logging facade, so JUL actually try to make itself as the ONE logging, and forbid JAVA community evolve logging system, as we knows, JUL lose.

And then, let's take a look nodejs community.

I ever read code below:

//foo.js
module.exports = function(logger){

return {
foo: function(){
//do something
logger.info('something');
}

}

}

//fee.js
logger = createAppLogger();
foo = require('foo')(logger);
foo.foo();


And I saw module API like this:

var logger = createAppLogger();
var foo = new Foo();
foo.logger = logger;


And also some module we can NOT inject logger, they log into console or somewhere the module defined.

I think we need pay more attention to the logging system for nodejs, and I have thought for a few points to start this discussion

1. module depends logging facade but not logger implementation.
2. the logging facade should be part of core nodejs as standard.
3. let application choose logger implementation.
4. let application define logging strategy.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值