@storm-stack/logging
Advanced tools
@@ -9,2 +9,4 @@ "use strict"; | ||
| var _typeChecks = require("@storm-stack/types/type-checks"); | ||
| var _isProduction = require("@storm-stack/utilities/helper-fns/is-production"); | ||
| var _isRuntimeServer = require("@storm-stack/utilities/helper-fns/is-runtime-server"); | ||
| class LoggerWrapper { | ||
@@ -120,9 +122,9 @@ constructor(logger, config, name) { | ||
| */ | ||
| getErrorMessage = obj => { | ||
| if ((0, _typeChecks.isSetString)(obj)) { | ||
| return obj; | ||
| getErrorMessage = err => { | ||
| if ((0, _typeChecks.isSetString)(err)) { | ||
| return err; | ||
| } | ||
| const error = (0, _errors.getCauseFromUnknown)(obj); | ||
| const error = _errors.StormError.create(err); | ||
| let message = error.print(); | ||
| if (this.config.stacktrace && (0, _typeChecks.isSet)(error.stack)) { | ||
| if (!(0, _isProduction.isProduction)(this.config?.env) && !(0, _isRuntimeServer.isRuntimeServer)() && (0, _typeChecks.isSet)(error.stack)) { | ||
| message += ` | ||
@@ -129,0 +131,0 @@ ${error.stack}`; |
@@ -90,3 +90,3 @@ import type { StormConfig } from "@storm-software/config"; | ||
| */ | ||
| protected getErrorMessage: (obj?: string | Error | null) => string; | ||
| protected getErrorMessage: (err?: string | Error | null) => string; | ||
| } |
@@ -1,3 +0,5 @@ | ||
| import { getCauseFromUnknown } from "@storm-stack/errors"; | ||
| import { StormError } from "@storm-stack/errors"; | ||
| import { isSet, isSetString } from "@storm-stack/types/type-checks"; | ||
| import { isProduction } from "@storm-stack/utilities/helper-fns/is-production"; | ||
| import { isRuntimeServer } from "@storm-stack/utilities/helper-fns/is-runtime-server"; | ||
| export class LoggerWrapper { | ||
@@ -111,9 +113,9 @@ constructor(logger, config, name) { | ||
| */ | ||
| getErrorMessage = (obj) => { | ||
| if (isSetString(obj)) { | ||
| return obj; | ||
| getErrorMessage = (err) => { | ||
| if (isSetString(err)) { | ||
| return err; | ||
| } | ||
| const error = getCauseFromUnknown(obj); | ||
| const error = StormError.create(err); | ||
| let message = error.print(); | ||
| if (this.config.stacktrace && isSet(error.stack)) { | ||
| if (!isProduction(this.config?.env) && !isRuntimeServer() && isSet(error.stack)) { | ||
| message += ` | ||
@@ -120,0 +122,0 @@ ${error.stack}`; |
+1
-0
@@ -10,3 +10,4 @@ "use strict"; | ||
| ..._errors.ErrorCode, | ||
| invalid_init_params: "invalid_init_params", | ||
| logs_uninitialized: "logs_uninitialized" | ||
| }; |
+1
-1
| import { ErrorCode } from "@storm-stack/errors/errors"; | ||
| export type LoggingErrorCode = ErrorCode | "logs_uninitialized"; | ||
| export type LoggingErrorCode = ErrorCode | "logs_uninitialized" | "invalid_init_params"; | ||
| export declare const LoggingErrorCode: any; |
+1
-0
| import { ErrorCode } from "@storm-stack/errors/errors"; | ||
| export const LoggingErrorCode = { | ||
| ...ErrorCode, | ||
| invalid_init_params: "invalid_init_params", | ||
| logs_uninitialized: "logs_uninitialized" | ||
| }; |
+23
-9
@@ -16,3 +16,5 @@ "use strict"; | ||
| class StormLog { | ||
| static #name; | ||
| static #isInitialized = false; | ||
| static #name = "storm"; | ||
| static #config; | ||
| static #logger; | ||
@@ -24,2 +26,5 @@ static #logLevel; | ||
| } | ||
| static get config() { | ||
| return StormLog.#config; | ||
| } | ||
| static getLogger = () => { | ||
@@ -40,10 +45,19 @@ if (!StormLog.#logger) { | ||
| */ | ||
| 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); | ||
| static initialize = (name, config, streams = []) => { | ||
| if (!config && !StormLog.#isInitialized) { | ||
| throw new _errors.StormError(_errors2.LoggingErrorCode.invalid_init_params, { | ||
| data: "The `config` parameter must be supplied to `StormLog.initialize` the first time it is called." | ||
| }); | ||
| } | ||
| StormLog.#name += `-${name}`; | ||
| if (!StormLog.#isInitialized) { | ||
| StormLog.#config = config; | ||
| 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)); | ||
| StormLog.#logger = pinoLogger; | ||
| StormLog.#logLevel = (0, _getLogLevel.getLogLevel)(config.logLevel); | ||
| pinoLogger.debug(`The "${StormLog.#name}" logger has ben initialized`); | ||
| StormLog.#isInitialized = true; | ||
| } | ||
| }; | ||
@@ -50,0 +64,0 @@ /** |
@@ -15,2 +15,3 @@ import type { StormConfig } from "@storm-software/config"; | ||
| static get name(): string; | ||
| static get config(): any; | ||
| protected static getLogger: () => Logger; | ||
@@ -24,3 +25,3 @@ /** | ||
| */ | ||
| static initialize: (config: StormConfig, name?: string, streams?: (pino.DestinationStream | pino.StreamEntry<pino.Level>)[]) => void; | ||
| static initialize: (name: string, config?: StormConfig, streams?: (pino.DestinationStream | pino.StreamEntry<pino.Level>)[]) => void; | ||
| /** | ||
@@ -27,0 +28,0 @@ * The Singleton's constructor should always be private to prevent direct |
+24
-10
@@ -9,3 +9,5 @@ import { StormDateTime } from "@storm-stack/date-time/storm-date-time"; | ||
| export class StormLog { | ||
| static #name; | ||
| static #isInitialized = false; | ||
| static #name = "storm"; | ||
| static #config; | ||
| static #logger; | ||
@@ -17,2 +19,5 @@ static #logLevel; | ||
| } | ||
| static get config() { | ||
| return StormLog.#config; | ||
| } | ||
| static getLogger = () => { | ||
@@ -33,11 +38,20 @@ if (!StormLog.#logger) { | ||
| */ | ||
| static initialize = (config, name = "Storm", streams = []) => { | ||
| const pinoLogger = streams.length > 0 ? pino( | ||
| getPinoOptions(config, name), | ||
| pino.multistream(streams, { dedupe: false }) | ||
| ) : pino(getPinoOptions(config, name)); | ||
| pinoLogger.debug("The Storm log has ben initialized"); | ||
| StormLog.#name = name; | ||
| StormLog.#logger = pinoLogger; | ||
| StormLog.#logLevel = getLogLevel(config.logLevel); | ||
| static initialize = (name, config, streams = []) => { | ||
| if (!config && !StormLog.#isInitialized) { | ||
| throw new StormError(LoggingErrorCode.invalid_init_params, { | ||
| data: "The `config` parameter must be supplied to `StormLog.initialize` the first time it is called." | ||
| }); | ||
| } | ||
| StormLog.#name += `-${name}`; | ||
| if (!StormLog.#isInitialized) { | ||
| StormLog.#config = config; | ||
| const pinoLogger = streams.length > 0 ? pino( | ||
| getPinoOptions(config, name), | ||
| pino.multistream(streams, { dedupe: false }) | ||
| ) : pino(getPinoOptions(config, name)); | ||
| StormLog.#logger = pinoLogger; | ||
| StormLog.#logLevel = getLogLevel(config.logLevel); | ||
| pinoLogger.debug(`The "${StormLog.#name}" logger has ben initialized`); | ||
| StormLog.#isInitialized = true; | ||
| } | ||
| }; | ||
@@ -44,0 +58,0 @@ /** |
@@ -9,2 +9,3 @@ "use strict"; | ||
| var _titleCase = require("@storm-stack/string-fns/title-case"); | ||
| var _isProduction = require("@storm-stack/utilities/helper-fns/is-production"); | ||
| var _isRuntimeServer = require("@storm-stack/utilities/helper-fns/is-runtime-server"); | ||
@@ -15,3 +16,3 @@ var _getLogLevel = require("./get-log-level.cjs"); | ||
| config.logLevel ??= config.env === "production" ? "info" : "debug"; | ||
| const _stacktrace = stacktrace || !(config?.env === "production" && !(0, _isRuntimeServer.isRuntimeServer)()); | ||
| const _stacktrace = stacktrace || !((0, _isProduction.isProduction)(config?.env) && !(0, _isRuntimeServer.isRuntimeServer)()); | ||
| const errorSerializer = (0, _logSerializer.createErrorSerializer)(_stacktrace); | ||
@@ -18,0 +19,0 @@ const baseOptions = { |
| import { isStormError } from "@storm-stack/errors/storm-error"; | ||
| import { titleCase } from "@storm-stack/string-fns/title-case"; | ||
| import { isProduction } from "@storm-stack/utilities/helper-fns/is-production"; | ||
| import { isRuntimeServer } from "@storm-stack/utilities/helper-fns/is-runtime-server"; | ||
@@ -8,3 +9,3 @@ import { LogLevel, getLogLevel } from "./get-log-level.mjs"; | ||
| config.logLevel ??= config.env === "production" ? "info" : "debug"; | ||
| const _stacktrace = stacktrace || !(config?.env === "production" && !isRuntimeServer()); | ||
| const _stacktrace = stacktrace || !(isProduction(config?.env) && !isRuntimeServer()); | ||
| const errorSerializer = createErrorSerializer(_stacktrace); | ||
@@ -11,0 +12,0 @@ const baseOptions = { |
+1
-3
| { | ||
| "name": "@storm-stack/logging", | ||
| "version": "1.39.0", | ||
| "version": "1.40.0", | ||
| "type": "module", | ||
@@ -42,4 +42,2 @@ "description": "⚡ The storm-stack monorepo contains utility applications, tools, and various libraries to create modern and scalable web applications.", | ||
| "acidic", | ||
| "acidic-lang", | ||
| "acidic-model", | ||
| "cyclone-ui", | ||
@@ -46,0 +44,0 @@ "nextjs", |
85347
2.05%1830
2.06%