我正在开发一个带有几十个模块的node.js应用程序,并使用bunyan进行日志记录(JSON输出,多个可配置流).我一直在寻找如何在所有模块中实现实例的很好的例子,但是还没有看到我可以从中学到的一个非常干净的例子.
下面说明了一种有效的方法,但对我来说似乎相当不优雅(丑陋).我一般都是node&commonjs javascript的新手,所以寻找有关如何改进它的建议.
module:./ lib/logger
// load config file (would like this to be passed in to the constructor)
nconf.file({ file: fileConfig});
var logSetting = nconf.get('log');
// instantiate the logger
var Bunyan = require('bunyan');
var log = new Bunyan({
name: logSetting.name,
streams : [
{ stream : process.stdout,
level : logSetting.stdoutLevel},
{ path : logSetting.logfile,
level : logSetting.logfileLevel}
],
serializers : Bunyan.stdSerializers
});
function Logger() {
};
Logger.prototype.info = function info(e) { log.info(e) };
Logger.prototype.debug = function debug(e) { log.debug(e) …
Run Code Online (Sandbox Code Playgroud)