UNPKG

@alexaegis/logging

Version:
64 lines (63 loc) 2.31 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const tslog = require("tslog"); const prettyLogTemplateTimestamp = "{{dateIsoStr}} "; const prettyLogTemplateBody = "{{logLevelName}}:{{nameWithDelimiterPrefix}} "; const normalizeLoggerOptions = (options) => { const timestamps = options?.timestamps ?? false; return { name: "log", timestamps, prettyLogTemplate: timestamps ? prettyLogTemplateTimestamp + prettyLogTemplateBody : prettyLogTemplateBody, ...options }; }; const createLogger = (options) => { return new tslog.Logger(normalizeLoggerOptions(options)); }; var LogLevel = /* @__PURE__ */ ((LogLevel2) => { LogLevel2[LogLevel2["OFF"] = 1e6] = "OFF"; LogLevel2[LogLevel2["FATAL"] = 6] = "FATAL"; LogLevel2[LogLevel2["ERROR"] = 5] = "ERROR"; LogLevel2[LogLevel2["WARN"] = 4] = "WARN"; LogLevel2[LogLevel2["INFO"] = 3] = "INFO"; LogLevel2[LogLevel2["DEBUG"] = 2] = "DEBUG"; LogLevel2[LogLevel2["TRACE"] = 1] = "TRACE"; LogLevel2[LogLevel2["SILLY"] = 0] = "SILLY"; return LogLevel2; })(LogLevel || {}); const logLevelKeys = Object.values(LogLevel).filter( (valueOrKey) => typeof valueOrKey === "string" ); const logLevelValues = Object.values(LogLevel).filter( (valueOrKey) => typeof valueOrKey === "number" ); const isLogLevelEnumValue = (o) => { return logLevelValues.includes(o); }; const isLogLevelEnumKey = (o) => { return logLevelKeys.includes(o); }; const normalizeLogLevelOption = (options) => { return { logLevel: options?.logLevel ?? LogLevel.INFO }; }; const noopLogger = createLogger({ type: "hidden", minLevel: LogLevel.OFF }); const normalizeLoggerOption = (options) => { return { logger: options?.logger ?? noopLogger }; }; exports.LogLevel = LogLevel; exports.createLogger = createLogger; exports.isLogLevelEnumKey = isLogLevelEnumKey; exports.isLogLevelEnumValue = isLogLevelEnumValue; exports.logLevelKeys = logLevelKeys; exports.logLevelValues = logLevelValues; exports.noopLogger = noopLogger; exports.normalizeLogLevelOption = normalizeLogLevelOption; exports.normalizeLoggerOption = normalizeLoggerOption; exports.normalizeLoggerOptions = normalizeLoggerOptions; exports.prettyLogTemplateBody = prettyLogTemplateBody; exports.prettyLogTemplateTimestamp = prettyLogTemplateTimestamp;