@storm-stack/logging
Advanced tools
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| var _loggerWrapper = require("./logger-wrapper.cjs"); | ||
| Object.keys(_loggerWrapper).forEach(function (key) { | ||
| if (key === "default" || key === "__esModule") return; | ||
| if (key in exports && exports[key] === _loggerWrapper[key]) return; | ||
| Object.defineProperty(exports, key, { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _loggerWrapper[key]; | ||
| } | ||
| }); | ||
| }); |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.LoggerWrapper = void 0; | ||
| var _errors = require("@storm-stack/errors"); | ||
| var _typeChecks = require("@storm-stack/types/type-checks"); | ||
| class LoggerWrapper { | ||
| constructor(logger, config, name) { | ||
| this.logger = logger; | ||
| this.config = config; | ||
| this.name = name; | ||
| this.logger = logger; | ||
| this.config = config ?? { | ||
| stacktrace: true | ||
| }; | ||
| } | ||
| /** | ||
| * Wrap a logger. | ||
| * | ||
| * @param logger - The logger to wrap. | ||
| * @param config - The logging configuration. | ||
| * @param name - The logger's name. | ||
| * @returns The wrapped logger. | ||
| */ | ||
| static wrap = (logger, config, name) => { | ||
| return new LoggerWrapper(logger, config, name); | ||
| }; | ||
| /** | ||
| * Write a success message to the logs. | ||
| * | ||
| * @param message - The message to print. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| success = message => { | ||
| return (0, _typeChecks.isSet)(this.logger.success) ? this.logger.success(message) : this.info(message); | ||
| }; | ||
| /** | ||
| * Write a fatal message to the logs. | ||
| * | ||
| * @param error - The fatal message to be displayed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| fatal = error => { | ||
| const message = this.getErrorMessage(error); | ||
| return (0, _typeChecks.isSet)(this.logger.fatal) ? this.logger.fatal(message) : this.error(message); | ||
| }; | ||
| /** | ||
| * Write an error message to the logs. | ||
| * | ||
| * @param error - The message to be displayed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| exception = error => { | ||
| const message = this.getErrorMessage(error); | ||
| return (0, _typeChecks.isSet)(this.logger.exception) ? this.logger.exception(message) : this.error(message); | ||
| }; | ||
| /** | ||
| * Write an error message to the logs. | ||
| * | ||
| * @param error - The message to be displayed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| error = error => { | ||
| return this.logger.error(this.getErrorMessage(error)); | ||
| }; | ||
| /** | ||
| * Write a warning message to the logs. | ||
| * | ||
| * @param message - The message to be printed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| warn = message => { | ||
| return this.logger.warn(message); | ||
| }; | ||
| /** | ||
| * Write an informational message to the logs. | ||
| * | ||
| * @param message - The message to be printed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| info = message => { | ||
| return this.logger.info(message); | ||
| }; | ||
| /** | ||
| * Write a debug message to the logs. | ||
| * | ||
| * @param message - The message to be printed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| debug = message => { | ||
| return (0, _typeChecks.isSet)(this.logger.debug) ? this.logger.debug(message) : (0, _typeChecks.isSet)(this.logger.trace) ? this.logger.trace(message) : this.info(message); | ||
| }; | ||
| /** | ||
| * Write a trace message to the logs. | ||
| * | ||
| * @param message - The message to be printed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| trace = message => { | ||
| return (0, _typeChecks.isSet)(this.logger.trace) ? this.logger.trace(message) : (0, _typeChecks.isSet)(this.logger.debug) ? this.logger.debug(message) : this.info(message); | ||
| }; | ||
| /** | ||
| * Write a log message to the logs. | ||
| * | ||
| * @param message - The message to be printed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| log = message => { | ||
| return (0, _typeChecks.isSet)(this.logger.log) ? this.logger.log(message) : this.info(message); | ||
| }; | ||
| /** | ||
| * Format an error message. | ||
| * | ||
| * @param obj - The error to format. | ||
| * @returns The formatted error message. | ||
| */ | ||
| getErrorMessage = obj => { | ||
| if ((0, _typeChecks.isSetString)(obj)) { | ||
| return obj; | ||
| } | ||
| const error = (0, _errors.getCauseFromUnknown)(obj); | ||
| let message = error.print(); | ||
| if (this.config.stacktrace && (0, _typeChecks.isSet)(error.stack)) { | ||
| message += ` | ||
| ${error.stack}`; | ||
| } | ||
| return message; | ||
| }; | ||
| } | ||
| exports.LoggerWrapper = LoggerWrapper; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.LoggingErrorCode = void 0; | ||
| var _errors = require("@storm-stack/errors/errors"); | ||
| const LoggingErrorCode = exports.LoggingErrorCode = { | ||
| ..._errors.ErrorCode, | ||
| logs_uninitialized: "logs_uninitialized" | ||
| }; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| var _composition = require("./composition/index.cjs"); | ||
| Object.keys(_composition).forEach(function (key) { | ||
| if (key === "default" || key === "__esModule") return; | ||
| if (key in exports && exports[key] === _composition[key]) return; | ||
| Object.defineProperty(exports, key, { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _composition[key]; | ||
| } | ||
| }); | ||
| }); | ||
| var _errors = require("./errors.cjs"); | ||
| Object.keys(_errors).forEach(function (key) { | ||
| if (key === "default" || key === "__esModule") return; | ||
| if (key in exports && exports[key] === _errors[key]) return; | ||
| Object.defineProperty(exports, key, { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _errors[key]; | ||
| } | ||
| }); | ||
| }); | ||
| var _stormLog = require("./storm-log.cjs"); | ||
| Object.keys(_stormLog).forEach(function (key) { | ||
| if (key === "default" || key === "__esModule") return; | ||
| if (key in exports && exports[key] === _stormLog[key]) return; | ||
| Object.defineProperty(exports, key, { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _stormLog[key]; | ||
| } | ||
| }); | ||
| }); | ||
| var _types = require("./types.cjs"); | ||
| Object.keys(_types).forEach(function (key) { | ||
| if (key === "default" || key === "__esModule") return; | ||
| if (key in exports && exports[key] === _types[key]) return; | ||
| Object.defineProperty(exports, key, { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _types[key]; | ||
| } | ||
| }); | ||
| }); | ||
| var _utilities = require("./utilities/index.cjs"); | ||
| Object.keys(_utilities).forEach(function (key) { | ||
| if (key === "default" || key === "__esModule") return; | ||
| if (key in exports && exports[key] === _utilities[key]) return; | ||
| Object.defineProperty(exports, key, { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _utilities[key]; | ||
| } | ||
| }); | ||
| }); |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.StormLog = void 0; | ||
| var _stormDateTime = require("@storm-stack/date-time/storm-date-time"); | ||
| var _formatSince = require("@storm-stack/date-time/utilities/format-since"); | ||
| var _errors = require("@storm-stack/errors"); | ||
| var _pino = _interopRequireDefault(require("pino")); | ||
| var _errors2 = require("./errors.cjs"); | ||
| var _getLogLevel = require("./utilities/get-log-level.cjs"); | ||
| var _getPinoOptions = require("./utilities/get-pino-options.cjs"); | ||
| function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } | ||
| class StormLog { | ||
| static #name; | ||
| static #logger; | ||
| static #logLevel; | ||
| static #additionalLoggers = []; | ||
| static get name() { | ||
| return StormLog.#name; | ||
| } | ||
| static getLogger = () => { | ||
| if (!StormLog.#logger) { | ||
| throw new _errors.StormError(_errors2.LoggingErrorCode.logs_uninitialized, { | ||
| data: "The Storm Log has not been initialized. Please initialize the logs by invoking `StormLog.initialize` before using them" | ||
| }); | ||
| } | ||
| return StormLog.#logger; | ||
| }; | ||
| /** | ||
| * Initialize the logs. | ||
| * | ||
| * @param config - The Storm config | ||
| * @param name - The name of the project to initialized the loggers for | ||
| * @returns The initialized loggers | ||
| */ | ||
| static initialize = (config, name = "Storm", streams = []) => { | ||
| const pinoLogger = streams.length > 0 ? (0, _pino.default)((0, _getPinoOptions.getPinoOptions)(config, name), _pino.default.multistream(streams, { | ||
| dedupe: false | ||
| })) : (0, _pino.default)((0, _getPinoOptions.getPinoOptions)(config, name)); | ||
| pinoLogger.debug("The Storm log has ben initialized"); | ||
| StormLog.#name = name; | ||
| StormLog.#logger = pinoLogger; | ||
| StormLog.#logLevel = (0, _getLogLevel.getLogLevel)(config.logLevel); | ||
| }; | ||
| /** | ||
| * The Singleton's constructor should always be private to prevent direct | ||
| * construction calls with the `new` operator. | ||
| */ | ||
| constructor() {} | ||
| /** | ||
| * Write a success message to the logs. | ||
| * | ||
| * @param message - The message to print. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| static success(message) { | ||
| const logger = StormLog.getLogger(); | ||
| if (StormLog.#logLevel >= _getLogLevel.LogLevel.INFO) { | ||
| logger.info({ | ||
| message, | ||
| level: "success" | ||
| }); | ||
| Promise.all(StormLog.#additionalLoggers.map(logger2 => logger2.info(message))); | ||
| } | ||
| } | ||
| /** | ||
| * Write a fatal message to the logs. | ||
| * | ||
| * @param message - The fatal message to be displayed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| static fatal(message) { | ||
| const error = _errors.StormError.create(message); | ||
| const logger = StormLog.getLogger(); | ||
| if (StormLog.#logLevel >= _getLogLevel.LogLevel.FATAL) { | ||
| logger.fatal({ | ||
| error, | ||
| level: "fatal" | ||
| }); | ||
| Promise.all(StormLog.#additionalLoggers.map(logger2 => logger2.fatal(error))); | ||
| } | ||
| } | ||
| /** | ||
| * Write an error message to the logs. | ||
| * | ||
| * @param message - The message to be displayed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| static error(message) { | ||
| const error = _errors.StormError.create(message); | ||
| const logger = StormLog.getLogger(); | ||
| if (StormLog.#logLevel >= _getLogLevel.LogLevel.ERROR) { | ||
| logger.error({ | ||
| error, | ||
| level: "error" | ||
| }); | ||
| Promise.all(StormLog.#additionalLoggers.map(logger2 => logger2.error(error))); | ||
| } | ||
| } | ||
| /** | ||
| * Write an exception message to the logs. | ||
| * | ||
| * @param message - The message to be displayed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| static exception(message) { | ||
| const error = _errors.StormError.create(message); | ||
| const logger = StormLog.getLogger(); | ||
| if (StormLog.#logLevel >= _getLogLevel.LogLevel.ERROR) { | ||
| logger.error({ | ||
| error, | ||
| level: "exception" | ||
| }); | ||
| Promise.all(StormLog.#additionalLoggers.map(logger2 => logger2.exception(error))); | ||
| } | ||
| } | ||
| /** | ||
| * Write a warning message to the logs. | ||
| * | ||
| * @param message - The message to be printed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| static warn(message) { | ||
| const logger = StormLog.getLogger(); | ||
| if (StormLog.#logLevel >= _getLogLevel.LogLevel.WARN) { | ||
| logger.warn(message); | ||
| Promise.all(StormLog.#additionalLoggers.map(logger2 => logger2.warn(message))); | ||
| } | ||
| } | ||
| /** | ||
| * Write an informational message to the logs. | ||
| * | ||
| * @param message - The message to be printed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| static info(message) { | ||
| const logger = StormLog.getLogger(); | ||
| if (StormLog.#logLevel >= _getLogLevel.LogLevel.INFO) { | ||
| logger.info(message); | ||
| Promise.all(StormLog.#additionalLoggers.map(logger2 => logger2.info(message))); | ||
| } | ||
| } | ||
| /** | ||
| * Write a debug message to the logs. | ||
| * | ||
| * @param message - The message to be printed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| static debug(message) { | ||
| const logger = StormLog.getLogger(); | ||
| if (StormLog.#logLevel >= _getLogLevel.LogLevel.DEBUG) { | ||
| logger.debug(message); | ||
| Promise.all(StormLog.#additionalLoggers.map(logger2 => logger2.debug(message))); | ||
| } | ||
| } | ||
| /** | ||
| * Write a trace message to the logs. | ||
| * | ||
| * @param message - The message to be printed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| static trace(message) { | ||
| const logger = StormLog.getLogger(); | ||
| if (StormLog.#logLevel >= _getLogLevel.LogLevel.TRACE) { | ||
| logger.trace(message); | ||
| Promise.all(StormLog.#additionalLoggers.map(logger2 => logger2.trace(message))); | ||
| } | ||
| } | ||
| /** | ||
| * Write an informational message to the logs. | ||
| * | ||
| * @param message - The message to be printed. | ||
| * @returns Either a promise that resolves to void or void. | ||
| */ | ||
| static log(message) { | ||
| const logger = StormLog.getLogger(); | ||
| if (StormLog.#logLevel >= _getLogLevel.LogLevel.INFO) { | ||
| logger.info({ | ||
| message, | ||
| level: "log" | ||
| }); | ||
| Promise.all(StormLog.#additionalLoggers.map(logger2 => logger2.info(message))); | ||
| } | ||
| } | ||
| /** | ||
| * Write an message to the logs specifying how long it took to complete a process | ||
| * @param startTime - The start time of the process | ||
| * @param name - The name of the process | ||
| */ | ||
| static stopwatch(startTime, name) { | ||
| const logger = StormLog.getLogger(); | ||
| if (StormLog.#logLevel >= _getLogLevel.LogLevel.INFO) { | ||
| const message = ` | ||
| \u23F1\uFE0F Completed ${name ? ` ${name}` : ""} process in ${(0, _formatSince.formatSince)(startTime.since())} | ||
| `; | ||
| logger.info(message); | ||
| Promise.all(StormLog.#additionalLoggers.map(logger2 => logger2.info(message))); | ||
| } | ||
| } | ||
| /** | ||
| * Start a logging process to track | ||
| * | ||
| * @param name - The name of the process | ||
| */ | ||
| static start(name) { | ||
| if (this.#logLevel >= _getLogLevel.LogLevel.INFO) { | ||
| this.#logger.info(`\u25B6\uFE0F Starting process ${name}`); | ||
| } | ||
| return _stormDateTime.StormDateTime.current(); | ||
| } | ||
| // /** | ||
| // * Write an message to the logs specifying how long it took to complete a process | ||
| // * | ||
| // * @param name - The name of the process | ||
| // * @param startTime - The start time of the process | ||
| // */ | ||
| // public stopwatch(name?: string, startTime?: StormTime) { | ||
| // let _startTime = startTime; | ||
| // if (this.#logLevel < LogLevel.INFO) { | ||
| // return; | ||
| // } | ||
| // if (!name && !_startTime) { | ||
| // this.warn("No name or start time was provided to the stopwatch method"); | ||
| // return; | ||
| // } | ||
| // if (!_startTime && !this.#processes.some(item => item.name === name)) { | ||
| // this.warn( | ||
| // `No start time was provided and the ${name} process was never started` | ||
| // ); | ||
| // return; | ||
| // } | ||
| // if (name && this.#processes.some(item => item.name === name)) { | ||
| // _startTime = this.#processes.find(item => item.name === name)?.startedAt; | ||
| // } | ||
| // let proc = name; | ||
| // if ( | ||
| // this.#processes.length > 0 && | ||
| // proc && | ||
| // this.#processes.some(item => item.name === proc) | ||
| // ) { | ||
| // proc = this.#processes | ||
| // .map(item => item.name) | ||
| // .slice( | ||
| // 0, | ||
| // this.#processes.findIndex(item => item.name === proc) | ||
| // ) | ||
| // .join(" ❯ "); | ||
| // } | ||
| // const message = `\n${proc ? `⏱️ Completed ${proc}` : "The process has completed"} in ${ | ||
| // _startTime ? formatSince(_startTime.since()) : "0ms" | ||
| // }\n`; | ||
| // this.#logger.info(message); | ||
| // Promise.all(this.additionalLoggers.map(logger => logger.info(message))); | ||
| // if (name && this.#processes.some(item => item.name === name)) { | ||
| // const index = this.#processes.findLastIndex(item => item.name === name); | ||
| // if (index) { | ||
| // this.#processes.splice(index, 1); | ||
| // } | ||
| // } | ||
| // } | ||
| // /** | ||
| // * Start a process | ||
| // * | ||
| // * @param options - The options of the child process | ||
| // */ | ||
| // public child(options: { name: string } & Record<string, any>): IStormLog { | ||
| // return new StormLog( | ||
| // this.config, | ||
| // `${this.name} ❯ ${options?.name}`, | ||
| // this.additionalLoggers | ||
| // ); | ||
| // } | ||
| /** | ||
| * Add a logger wrapper to the internal loggers list | ||
| * | ||
| * @param wrapper - The logger wrapper to use | ||
| */ | ||
| static addLogger(wrapper) { | ||
| if (wrapper) { | ||
| StormLog.#additionalLoggers.push(wrapper); | ||
| } | ||
| } | ||
| /** | ||
| * Allow child classes to specify additional pino log streams | ||
| * | ||
| * @returns Additional log streams to use during initialization | ||
| */ | ||
| static getStreams = () => []; | ||
| } | ||
| exports.StormLog = StormLog; |
| "use strict"; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.getLogLevelLabel = exports.getLogLevel = exports.LogLevelLabel = exports.LogLevel = void 0; | ||
| const LogLevel = exports.LogLevel = { | ||
| SILENT: 0, | ||
| FATAL: 10, | ||
| ERROR: 20, | ||
| WARN: 30, | ||
| INFO: 40, | ||
| DEBUG: 60, | ||
| TRACE: 70, | ||
| ALL: 100 | ||
| }; | ||
| const LogLevelLabel = exports.LogLevelLabel = { | ||
| SILENT: "silent", | ||
| FATAL: "fatal", | ||
| ERROR: "error", | ||
| WARN: "warn", | ||
| INFO: "info", | ||
| DEBUG: "debug", | ||
| TRACE: "trace", | ||
| ALL: "all" | ||
| }; | ||
| const getLogLevel = label => { | ||
| switch (label) { | ||
| case "all": | ||
| { | ||
| return LogLevel.ALL; | ||
| } | ||
| case "trace": | ||
| { | ||
| return LogLevel.TRACE; | ||
| } | ||
| case "debug": | ||
| { | ||
| return LogLevel.DEBUG; | ||
| } | ||
| case "info": | ||
| { | ||
| return LogLevel.INFO; | ||
| } | ||
| case "warn": | ||
| { | ||
| return LogLevel.WARN; | ||
| } | ||
| case "error": | ||
| { | ||
| return LogLevel.ERROR; | ||
| } | ||
| case "fatal": | ||
| { | ||
| return LogLevel.FATAL; | ||
| } | ||
| case "silent": | ||
| { | ||
| return LogLevel.SILENT; | ||
| } | ||
| default: | ||
| { | ||
| return LogLevel.INFO; | ||
| } | ||
| } | ||
| }; | ||
| exports.getLogLevel = getLogLevel; | ||
| const getLogLevelLabel = logLevel => { | ||
| if (logLevel >= LogLevel.ALL) { | ||
| return LogLevelLabel.ALL; | ||
| } | ||
| if (logLevel >= LogLevel.TRACE) { | ||
| return LogLevelLabel.TRACE; | ||
| } | ||
| if (logLevel >= LogLevel.DEBUG) { | ||
| return LogLevelLabel.DEBUG; | ||
| } | ||
| if (logLevel >= LogLevel.INFO) { | ||
| return LogLevelLabel.INFO; | ||
| } | ||
| if (logLevel >= LogLevel.WARN) { | ||
| return LogLevelLabel.WARN; | ||
| } | ||
| if (logLevel >= LogLevel.ERROR) { | ||
| return LogLevelLabel.ERROR; | ||
| } | ||
| if (logLevel >= LogLevel.FATAL) { | ||
| return LogLevelLabel.FATAL; | ||
| } | ||
| if (logLevel <= LogLevel.SILENT) { | ||
| return LogLevelLabel.SILENT; | ||
| } | ||
| return LogLevelLabel.INFO; | ||
| }; | ||
| exports.getLogLevelLabel = getLogLevelLabel; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.getPinoOptions = void 0; | ||
| var _stormError = require("@storm-stack/errors/storm-error"); | ||
| var _titleCase = require("@storm-stack/string-fns/title-case"); | ||
| var _isRuntimeServer = require("@storm-stack/utilities/helper-fns/is-runtime-server"); | ||
| var _getLogLevel = require("./get-log-level.cjs"); | ||
| var _logSerializer = require("./log-serializer.cjs"); | ||
| const getPinoOptions = (config, name, stacktrace = false) => { | ||
| config.logLevel ??= config.env === "production" ? "info" : "debug"; | ||
| const _stacktrace = stacktrace || !(config?.env === "production" && !(0, _isRuntimeServer.isRuntimeServer)()); | ||
| const errorSerializer = (0, _logSerializer.createErrorSerializer)(_stacktrace); | ||
| const baseOptions = { | ||
| name: name || "Storm Software", | ||
| enabled: (0, _getLogLevel.getLogLevel)(config.logLevel) > _getLogLevel.LogLevel.SILENT, | ||
| level: config.logLevel, | ||
| messageKey: "msg", | ||
| errorKey: "error", | ||
| redact: ["req.headers.authorization", "access_token", "data.access_token", "data.*.access_token", "data.*.accessToken", "accessToken", "data.accessToken", "DATABASE_URL", "data.*.email", "data.email", "email", "event.headers.authorization", "data.hashedPassword", "data.*.hashedPassword", "hashedPassword", "host", "jwt", "data.jwt", "data.*.jwt", "JWT", "data.JWT", "data.*.JWT", "password", "data.password", "data.*.password", "params", "data.salt", "data.*.salt", "salt", "secret", "data.secret", "data.*.secret"], | ||
| serializers: { | ||
| exception: errorSerializer, | ||
| err: errorSerializer, | ||
| error: errorSerializer, | ||
| fatal: errorSerializer | ||
| }, | ||
| formatters: { | ||
| level: (levelLabel, levelNumber) => ({ | ||
| logLevel: levelNumber, | ||
| logLevelLabel: (0, _titleCase.titleCase)(levelLabel) | ||
| }), | ||
| log: object => (0, _stormError.isStormError)(object.err) ? { | ||
| ...object, | ||
| error: object.err | ||
| } : (0, _stormError.isStormError)(object.err) ? { | ||
| ...object, | ||
| error: object.err | ||
| } : (0, _stormError.isStormError)(object.exception) ? { | ||
| ...object, | ||
| error: object.exception | ||
| } : object | ||
| }, | ||
| browser: { | ||
| disabled: (0, _getLogLevel.getLogLevel)(config.logLevel) === _getLogLevel.LogLevel.SILENT | ||
| } | ||
| }; | ||
| return baseOptions; | ||
| }; | ||
| exports.getPinoOptions = getPinoOptions; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| var _getLogLevel = require("./get-log-level.cjs"); | ||
| Object.keys(_getLogLevel).forEach(function (key) { | ||
| if (key === "default" || key === "__esModule") return; | ||
| if (key in exports && exports[key] === _getLogLevel[key]) return; | ||
| Object.defineProperty(exports, key, { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _getLogLevel[key]; | ||
| } | ||
| }); | ||
| }); | ||
| var _getPinoOptions = require("./get-pino-options.cjs"); | ||
| Object.keys(_getPinoOptions).forEach(function (key) { | ||
| if (key === "default" || key === "__esModule") return; | ||
| if (key in exports && exports[key] === _getPinoOptions[key]) return; | ||
| Object.defineProperty(exports, key, { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _getPinoOptions[key]; | ||
| } | ||
| }); | ||
| }); | ||
| var _logSerializer = require("./log-serializer.cjs"); | ||
| Object.keys(_logSerializer).forEach(function (key) { | ||
| if (key === "default" || key === "__esModule") return; | ||
| if (key in exports && exports[key] === _logSerializer[key]) return; | ||
| Object.defineProperty(exports, key, { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _logSerializer[key]; | ||
| } | ||
| }); | ||
| }); |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.createErrorSerializer = void 0; | ||
| var _stormError = require("@storm-stack/errors/storm-error"); | ||
| var _serialization = require("@storm-stack/serialization"); | ||
| var _utilityTypes = require("@storm-stack/types/utility-types"); | ||
| var _pinoStdSerializers = require("pino-std-serializers"); | ||
| const createErrorSerializer = stacktrace => err => { | ||
| try { | ||
| const stormError = (0, _stormError.getCauseFromUnknown)(err); | ||
| if (stacktrace === false) { | ||
| stormError.stack = _utilityTypes.EMPTY_STRING; | ||
| } | ||
| return { | ||
| ..._serialization.StormParser.serialize(stormError), | ||
| fullMessage: stormError.toString(stacktrace) | ||
| }; | ||
| } catch (error_) { | ||
| const stormError = _stormError.StormError.create(error_); | ||
| stormError.cause = err; | ||
| return (0, _pinoStdSerializers.errWithCause)(stormError); | ||
| } | ||
| }; | ||
| exports.createErrorSerializer = createErrorSerializer; |
+1
-1
| { | ||
| "name": "@storm-stack/logging", | ||
| "version": "1.32.0", | ||
| "version": "1.34.0", | ||
| "type": "module", | ||
@@ -5,0 +5,0 @@ "description": "⚡ The storm-stack monorepo contains utility applications, tools, and various libraries to create modern and scalable web applications.", |
+1
-1
@@ -24,3 +24,3 @@ <!-- START header --> | ||
| [](https://prettier.io/) [](http://nx.dev/) [](https://nextjs.org/) [](http://commitizen.github.io/cz-cli/)  [](https://fumadocs.vercel.app/)  | ||
| [](https://prettier.io/) [](http://nx.dev/) [](https://nextjs.org/) [](http://commitizen.github.io/cz-cli/)  [](https://fumadocs.vercel.app/)  | ||
@@ -27,0 +27,0 @@ |
83595
36.99%33
43.48%1793
64.8%