Sails.js 日志传输取决于环境
Sails.js log transport depend on environment
我有一个 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
等配置文件中不可用。那么在这种情况下如何根据环境使用自定义日志传输呢?
在所有配置模块中,我发现你不能只写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
}
}
这样只有生产环境才会有自定义日志记录。
我有一个 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
等配置文件中不可用。那么在这种情况下如何根据环境使用自定义日志传输呢?
在所有配置模块中,我发现你不能只写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
}
}
这样只有生产环境才会有自定义日志记录。