Javascript Sails.js日志传输取决于环境
我有一个Sails.js项目,我想为事件日志添加日志条目支持。但是,我只希望在某些环境中使用日志条目 例如,在开发中,我不想用开发垃圾填充日志Javascript Sails.js日志传输取决于环境,javascript,node.js,logging,sails.js,logentries,Javascript,Node.js,Logging,Sails.js,Logentries,我有一个Sails.js项目,我想为事件日志添加日志条目支持。但是,我只希望在某些环境中使用日志条目 例如,在开发中,我不想用开发垃圾填充日志 // config/log.js var logentries = require('le_node'); var log = (sails.config.environment === 'development') ? sails.log : logentries.logger({ token: 'YOUR_TOKEN' }); module.
// config/log.js
var logentries = require('le_node');
var log = (sails.config.environment === 'development') ? sails.log : logentries.logger({
token: 'YOUR_TOKEN'
});
module.exports.log = {
log: {
custom: log
}
}
但是我得到了一个错误,
sails
没有定义。这是因为sails
对象在配置文件中不可用,例如config/log.js
。那么,在这种情况下,如何根据环境使用自定义日志传输呢?在所有配置模块中,我发现您不能只编写sails.config.someModule
。只需使用典型的var someModule=require(./someModule)
。这样做更容易。最后,似乎正确的做法不是直接修改config/log.js
文件,而是修改环境配置文件:
// config/env/production.js
var logentries = require('le_node');
var log = logentries.logger({
token: 'YOUR_TOKEN'
});
module.exports.log = {
log: {
custom: log
}
}
这样,只有生产环境才会有自定义日志记录。在其周围包装一个函数,以便您可以从拥有配置的位置传入配置
var logger=require(“log”).log(“dev”)
,该函数应返回一个函数,该函数是您在没有额外尾随参数调用的情况下获得的函数。我已经了解到,不建议要求其他配置文件中的配置文件()