UNPKG

@naturacosmeticos/clio-nodejs-logger

Version:

[![Known Vulnerabilities](https://snyk.io/test/github/natura-cosmeticos/clio-nodejs-logger/badge.svg?targetFile=package.json)](https://snyk.io/test/github/natura-cosmeticos/clio-nodejs-logger?targetFile=package.json) [![Build Status](https://travis-ci.org

35 lines (29 loc) 1.02 kB
const { debug, error, warn, log, } = require('./levels'); /** @private */ const LOG_LEVEL = Object.freeze([debug, log, warn, error]); /** @private */ const levelOutputMatchers = [ function debugOutput({ logLevel, outputType }) { return logLevel === debug && LOG_LEVEL.includes(outputType); }, function infoOutput({ logLevel, outputType }) { return logLevel === log && LOG_LEVEL.slice(1).includes(outputType); }, function warnOutput({ logLevel, outputType }) { return logLevel === warn && LOG_LEVEL.slice(2).includes(outputType); }, function errorOutput({ logLevel, outputType }) { return logLevel === error && LOG_LEVEL.slice(3).includes(outputType); }, ]; /** * It matches logLevel and outputType and returns if log request * should or should not be logged * @private */ function logLevelFilter({ logLevel, outputType }) { return levelOutputMatchers.some(matcher => matcher({ logLevel, outputType })); } logLevelFilter.LOG_LEVEL = LOG_LEVEL; module.exports = logLevelFilter;