Sails.js日志传输取决于环境

我有一个Sails.js项目,我想添加LogEntries支持事件logging。 不过,我只想在某些环境中使用LogEntries。

例如,在开发中,我不想用开发垃圾填充日志。

// 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没有定义。 这是因为config/log.js对象在config/log.js等configuration文件中不可用。 那么在这种情况下,如何根据环境使用自定义日志传输呢?

最后,看起来正确的是不直接修改config/log.js文件,而是修改环境configuration文件:

 // config/env/production.js var logentries = require('le_node'); var log = logentries.logger({ token: 'YOUR_TOKEN' }); module.exports.log = { log: { custom: log } } 

这样只有生产环境才会有自定义日志。

在所有的configuration模块中,我发现你不能只写sails.config.someModule 。 只要去典型的var someModule = require(./someModule) 。 这种方式更容易。