sqmicro-commons
Version:
Commons for SQ analytics microservices.
30 lines (24 loc) • 1.25 kB
JavaScript
/**
* Оболочка вокруг логгера (tracer#console()). Если доступны конфиги (см. модуль `config`)
* используется секция logger. По умолчанию ничто не логируется. Если определена
* переменная окружения LOG_LEVEL, используется ее значение, в противном случае
* используется значение `logger.level` из конфига, наконец Number.POSITIVE_INFINITY
* (логи отсутствуют).
*/
const logFactory = require('tracer');
// Config files may be read from `${process.cwd()}/config`.
// See [Submodule configuration]{@link https://github.com/lorenwest/node-config/wiki/Sub-Module-Configuration}.
process.env.SUPPRESS_NO_CONFIG_WARNING = 'y';
const config = require('config');
// Be silent by default.
const DEFAULT_LOG_LEVEL = Number.POSITIVE_INFINITY;
config.util.setModuleDefaults(
'logger',
{ level: process.env.LOG_LEVEL || DEFAULT_LOG_LEVEL }
);
module.exports = createLogger(config.get('logger'));
function createLogger(options) {
const level = options.level;
logFactory.setLevel(level);
return logFactory.console();
}