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

时间:2015-03-18 00:00:16

标签: javascript node.js logging sails.js logentries

我有一个Sails.js项目,我想为事件记录添加LogEntries支持。但是我想仅在某些环境中使用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没有定义。这是因为sails对象在config/log.js等配置文件中不可用。那么在这种情况下如何根据环境使用自定义日志传输呢?

2 个答案:

答案 0 :(得分:2)

最后看似正确的不是直接修改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
  }
}

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

答案 1 :(得分:0)

在所有配置模块中,我发现你不能只写sails.config.someModule。只需使用典型的var someModule = require(./someModule)即可。这样更容易。