UNPKG

jsout

Version:

A Syslog-compatible, small, and simple logger for Typescript/Javascript projects. Sponsored by https://aeroview.io

38 lines 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.log = log; const _1 = require("."); const cli_1 = require("./formatters/cli"); const json_1 = require("./formatters/json"); const serializeCustomProps_1 = require("./serializeCustomProps"); const serializeError_1 = require("./serializeError"); function log(input) { if (!input) throw new Error('input is required'); if (!input.options) throw new Error('options is required'); if (!input.transport) throw new Error('transport is required'); if (!input.transport.stdout) throw new Error('transport.stdout must be a function'); if (!input.transport.stderr) throw new Error('transport.stderr must be a function'); const { level, message, error, data, options } = input; if (level > options.level) return; const log = { level, message: message ?? error?.message ?? '', error: error instanceof Error ? (0, serializeError_1.serializeError)(error) : (0, serializeCustomProps_1.serializeCustomProps)(error), data: (0, serializeCustomProps_1.serializeCustomProps)(data), }; const transport = log.level <= _1.LogLevel.warn ? input.transport.stderr // 0-4 : input.transport.stdout; // 5-7 options.format === _1.LogFormat.json ? transport((0, json_1.formatJson)(log)) : transport((0, cli_1.formatCli)(log)); } //# sourceMappingURL=log.js.map