UNPKG

tripitaka

Version:

A low dependency, no frills logger, designed to play nicely with tools like fluentd and Elasticsearch

21 lines (18 loc) 577 B
const { EOL } = require('os'); const Level = require('../Level'); const DEFAULT_STREAMS = { [Level.TRACE.name]: process.stdout, [Level.DEBUG.name]: process.stdout, [Level.INFO.name]: process.stdout, [Level.WARN.name]: process.stderr, [Level.ERROR.name]: process.stderr, }; module.exports = (params = {}) => { const { streams = DEFAULT_STREAMS, level: threshold = Level.TRACE } = params; return ({ level, record }) => { if (!level.satisfies(threshold)) return; const stream = streams[level.name]; stream.write(record); stream.write(EOL); }; };