@mks2508/better-logger 0.14.0-alpha.2 โ 0.18.2-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +289 -185
- package/dist/Logger.d.ts +576 -205
- package/dist/Logger.d.ts.map +1 -1
- package/dist/ScopedLogger.d.ts +48 -292
- package/dist/ScopedLogger.d.ts.map +1 -1
- package/dist/chunks/HookBridge-CiRfR67f.cjs +190 -0
- package/dist/chunks/HookBridge-CiRfR67f.cjs.map +1 -0
- package/dist/chunks/HookBridge-SgMmbXZB.js +173 -0
- package/dist/chunks/HookBridge-SgMmbXZB.js.map +1 -0
- package/dist/chunks/LogContext-Cwn-1Zzb.js +85 -0
- package/dist/chunks/LogContext-Cwn-1Zzb.js.map +1 -0
- package/dist/chunks/LogContext-L7HzynFw.cjs +90 -0
- package/dist/chunks/LogContext-L7HzynFw.cjs.map +1 -0
- package/dist/chunks/SerializerBridge-BaOQOb8q.cjs +166 -0
- package/dist/chunks/SerializerBridge-BaOQOb8q.cjs.map +1 -0
- package/dist/chunks/SerializerBridge-BkpQu5c9.js +149 -0
- package/dist/chunks/SerializerBridge-BkpQu5c9.js.map +1 -0
- package/dist/chunks/StyleManager-CIpd6wbO.cjs +92 -0
- package/dist/chunks/StyleManager-CIpd6wbO.cjs.map +1 -0
- package/dist/chunks/StyleManager-LCvVlVdx.js +87 -0
- package/dist/chunks/StyleManager-LCvVlVdx.js.map +1 -0
- package/dist/chunks/core-Dzz7agGa.cjs +39 -0
- package/dist/chunks/core-Dzz7agGa.cjs.map +1 -0
- package/dist/chunks/core-PoT7RrTK.js +34 -0
- package/dist/chunks/core-PoT7RrTK.js.map +1 -0
- package/dist/chunks/environment-detector-CI3TrWK_.js +110 -0
- package/dist/chunks/environment-detector-CI3TrWK_.js.map +1 -0
- package/dist/chunks/environment-detector-Cnn6wr6O.cjs +163 -0
- package/dist/chunks/environment-detector-Cnn6wr6O.cjs.map +1 -0
- package/dist/chunks/server-fallback-BUKjdLS7.cjs +42 -0
- package/dist/chunks/server-fallback-BUKjdLS7.cjs.map +1 -0
- package/dist/chunks/server-fallback-BsuWH1Dk.js +37 -0
- package/dist/chunks/server-fallback-BsuWH1Dk.js.map +1 -0
- package/dist/chunks/spinner-D3FsF78o.js +700 -0
- package/dist/chunks/spinner-D3FsF78o.js.map +1 -0
- package/dist/chunks/spinner-DNvxbM9a.cjs +747 -0
- package/dist/chunks/spinner-DNvxbM9a.cjs.map +1 -0
- package/dist/chunks/styling-84N8T97t.js +941 -0
- package/dist/chunks/styling-84N8T97t.js.map +1 -0
- package/dist/chunks/styling-Cg5saQ46.cjs +994 -0
- package/dist/chunks/styling-Cg5saQ46.cjs.map +1 -0
- package/dist/chunks/transports-BiDk345e.js +715 -0
- package/dist/chunks/transports-BiDk345e.js.map +1 -0
- package/dist/chunks/transports-COPWmlF1.cjs +756 -0
- package/dist/chunks/transports-COPWmlF1.cjs.map +1 -0
- package/dist/chunks/utils-BqlFYocD.cjs +698 -0
- package/dist/chunks/utils-BqlFYocD.cjs.map +1 -0
- package/dist/chunks/utils-VETbVpkR.js +579 -0
- package/dist/chunks/utils-VETbVpkR.js.map +1 -0
- package/dist/cli/commands/ExportCommand.d.ts +8 -26
- package/dist/cli/commands/ExportCommand.d.ts.map +1 -1
- package/dist/cli/index.d.ts +1 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli-module.d.ts +13 -0
- package/dist/cli-module.d.ts.map +1 -0
- package/dist/cli.cjs +11 -0
- package/dist/cli.js +3 -0
- package/dist/constants.d.ts +16 -47
- package/dist/constants.d.ts.map +1 -1
- package/dist/context/LogContext.d.ts +146 -0
- package/dist/context/LogContext.d.ts.map +1 -0
- package/dist/context/index.d.ts +6 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context-module.d.ts +6 -0
- package/dist/context-module.d.ts.map +1 -0
- package/dist/context.cjs +3 -0
- package/dist/context.js +2 -0
- package/dist/core.cjs +281 -2
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.ts +6 -7
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +258 -314
- package/dist/core.js.map +1 -1
- package/dist/example.d.ts.map +1 -1
- package/dist/hooks/HookBridge.d.ts +26 -0
- package/dist/hooks/HookBridge.d.ts.map +1 -0
- package/dist/hooks/HookManager.d.ts +26 -0
- package/dist/hooks/HookManager.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +7 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks-module.d.ts +7 -0
- package/dist/hooks-module.d.ts.map +1 -0
- package/dist/hooks.cjs +5 -0
- package/dist/hooks.js +2 -0
- package/dist/index.cjs +2522 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +42 -130
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2447 -158
- package/dist/index.js.map +1 -1
- package/dist/node-module.d.ts +10 -0
- package/dist/node-module.d.ts.map +1 -0
- package/dist/node.cjs +13 -0
- package/dist/node.cjs.map +1 -0
- package/dist/node.js +12 -0
- package/dist/node.js.map +1 -0
- package/dist/playground/TerminalBridge.d.ts +46 -0
- package/dist/playground/TerminalBridge.d.ts.map +1 -0
- package/dist/playground/box.d.ts +14 -0
- package/dist/playground/box.d.ts.map +1 -0
- package/dist/playground/cli-table.d.ts +14 -0
- package/dist/playground/cli-table.d.ts.map +1 -0
- package/dist/playground/divider.d.ts +10 -0
- package/dist/playground/divider.d.ts.map +1 -0
- package/dist/playground/header.d.ts +11 -0
- package/dist/playground/header.d.ts.map +1 -0
- package/dist/playground/index.d.ts +11 -0
- package/dist/playground/index.d.ts.map +1 -0
- package/dist/playground/server-fallback.d.ts +27 -0
- package/dist/playground/server-fallback.d.ts.map +1 -0
- package/dist/playground/spinner.d.ts +48 -0
- package/dist/playground/spinner.d.ts.map +1 -0
- package/dist/playground/step.d.ts +14 -0
- package/dist/playground/step.d.ts.map +1 -0
- package/dist/playground-module.d.ts +11 -0
- package/dist/playground-module.d.ts.map +1 -0
- package/dist/playground.cjs +9 -0
- package/dist/playground.js +2 -0
- package/dist/serializers/SerializerBridge.d.ts +21 -0
- package/dist/serializers/SerializerBridge.d.ts.map +1 -0
- package/dist/serializers/SerializerRegistry.d.ts +16 -0
- package/dist/serializers/SerializerRegistry.d.ts.map +1 -0
- package/dist/serializers/index.d.ts +7 -0
- package/dist/serializers/index.d.ts.map +1 -0
- package/dist/serializers-module.d.ts +7 -0
- package/dist/serializers-module.d.ts.map +1 -0
- package/dist/serializers.cjs +5 -0
- package/dist/serializers.js +2 -0
- package/dist/styles/StyleManager.d.ts +83 -0
- package/dist/styles/StyleManager.d.ts.map +1 -0
- package/dist/styles/index.d.ts +7 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles-module.d.ts +7 -0
- package/dist/styles-module.d.ts.map +1 -0
- package/dist/styles.cjs +7 -0
- package/dist/styles.js +3 -0
- package/dist/styling/banners.d.ts +6 -2
- package/dist/styling/banners.d.ts.map +1 -1
- package/dist/styling/index.d.ts +8 -3
- package/dist/styling/index.d.ts.map +1 -1
- package/dist/terminal/color-converter.d.ts +73 -0
- package/dist/terminal/color-converter.d.ts.map +1 -0
- package/dist/terminal/formatter.d.ts +23 -0
- package/dist/terminal/formatter.d.ts.map +1 -0
- package/dist/transports/ConsoleTransport.d.ts +9 -0
- package/dist/transports/ConsoleTransport.d.ts.map +1 -0
- package/dist/transports/FileTransport.d.ts +56 -0
- package/dist/transports/FileTransport.d.ts.map +1 -0
- package/dist/transports/HttpTransport.d.ts +67 -0
- package/dist/transports/HttpTransport.d.ts.map +1 -0
- package/dist/transports/OtlpTransport.d.ts +148 -0
- package/dist/transports/OtlpTransport.d.ts.map +1 -0
- package/dist/transports/TransportBridge.d.ts +37 -0
- package/dist/transports/TransportBridge.d.ts.map +1 -0
- package/dist/transports/TransportManager.d.ts +36 -0
- package/dist/transports/TransportManager.d.ts.map +1 -0
- package/dist/transports/index.d.ts +6 -0
- package/dist/transports/index.d.ts.map +1 -0
- package/dist/transports-module.d.ts +10 -0
- package/dist/transports-module.d.ts.map +1 -0
- package/dist/transports.cjs +7 -0
- package/dist/transports.js +2 -0
- package/dist/types/core.d.ts +188 -6
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/handlers.d.ts +0 -67
- package/dist/types/handlers.d.ts.map +1 -1
- package/dist/types/hooks.d.ts +60 -0
- package/dist/types/hooks.d.ts.map +1 -0
- package/dist/types/index.d.ts +7 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/serializers.d.ts +25 -0
- package/dist/types/serializers.d.ts.map +1 -0
- package/dist/types/transports.d.ts +127 -0
- package/dist/types/transports.d.ts.map +1 -0
- package/dist/utils/ansi-colors.d.ts +115 -0
- package/dist/utils/ansi-colors.d.ts.map +1 -0
- package/dist/utils/environment-detector.d.ts +53 -0
- package/dist/utils/environment-detector.d.ts.map +1 -0
- package/dist/utils/formatting.d.ts +1 -0
- package/dist/utils/formatting.d.ts.map +1 -1
- package/dist/utils/index.d.ts +3 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/output.d.ts +8 -11
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/stackTrace.d.ts.map +1 -1
- package/dist/utils/timestamps.d.ts +0 -12
- package/dist/utils/timestamps.d.ts.map +1 -1
- package/package.json +96 -21
- package/.claude/settings.local.json +0 -39
- package/.github/workflows/ci-quality.yml +0 -357
- package/.github/workflows/docs-demo.yml +0 -119
- package/.github/workflows/releases-core.yml +0 -512
- package/.github/workflows/releases-full.yml +0 -582
- package/.github/workflows-backup/ci.yml +0 -221
- package/.github/workflows-backup/nightly.yml +0 -196
- package/.github/workflows-backup/release-optimized.yml +0 -373
- package/.github/workflows-backup/release.yml +0 -269
- package/.release-notes-0.2.0.md +0 -129
- package/.yamllint +0 -28
- package/CHANGELOG.json +0 -865
- package/CLAUDE.md +0 -204
- package/bun.lock +0 -323
- package/demo.html +0 -847
- package/dist/.tsbuildinfo +0 -1
- package/dist/Logger.js +0 -1124
- package/dist/ScopedLogger.js +0 -426
- package/dist/chunks/Logger-Crw1woqR.js +0 -3464
- package/dist/chunks/Logger-Crw1woqR.js.map +0 -1
- package/dist/chunks/Logger-D_p3xnbq.js +0 -2
- package/dist/chunks/Logger-D_p3xnbq.js.map +0 -1
- package/dist/chunks/RemoteLogHandler-CjWpWZGl.js +0 -33
- package/dist/chunks/RemoteLogHandler-CjWpWZGl.js.map +0 -1
- package/dist/chunks/RemoteLogHandler-ymkQ97xl.js +0 -2
- package/dist/chunks/RemoteLogHandler-ymkQ97xl.js.map +0 -1
- package/dist/chunks/environment-Bxbnw4pd.js +0 -544
- package/dist/chunks/environment-Bxbnw4pd.js.map +0 -1
- package/dist/chunks/environment-Dm66zOML.js +0 -4
- package/dist/chunks/environment-Dm66zOML.js.map +0 -1
- package/dist/chunks/formatting-C0riPC5_.js +0 -95
- package/dist/chunks/formatting-C0riPC5_.js.map +0 -1
- package/dist/chunks/formatting-DNCAV66-.js +0 -2
- package/dist/chunks/formatting-DNCAV66-.js.map +0 -1
- package/dist/cli/CommandProcessor.js +0 -184
- package/dist/cli/commands/ConfigCommand.js +0 -88
- package/dist/cli/commands/ExportCommand.js +0 -243
- package/dist/cli/commands/HistoryCommand.d.ts +0 -50
- package/dist/cli/commands/HistoryCommand.d.ts.map +0 -1
- package/dist/cli/commands/HistoryCommand.js +0 -96
- package/dist/cli/commands/StatusCommand.d.ts +0 -33
- package/dist/cli/commands/StatusCommand.d.ts.map +0 -1
- package/dist/cli/commands/StatusCommand.js +0 -93
- package/dist/cli/commands/ThemeCommand.js +0 -79
- package/dist/cli/help.js +0 -118
- package/dist/cli/index.js +0 -46
- package/dist/constants.js +0 -159
- package/dist/example.js +0 -154
- package/dist/exports-module.d.ts +0 -203
- package/dist/exports-module.d.ts.map +0 -1
- package/dist/exports-module.js +0 -260
- package/dist/exports.cjs +0 -2
- package/dist/exports.cjs.map +0 -1
- package/dist/exports.js +0 -238
- package/dist/exports.js.map +0 -1
- package/dist/handlers/AnalyticsLogHandler.d.ts +0 -11
- package/dist/handlers/AnalyticsLogHandler.d.ts.map +0 -1
- package/dist/handlers/AnalyticsLogHandler.js +0 -19
- package/dist/handlers/ExportLogHandler.d.ts +0 -103
- package/dist/handlers/ExportLogHandler.d.ts.map +0 -1
- package/dist/handlers/ExportLogHandler.js +0 -516
- package/dist/handlers/FileLogHandler.d.ts +0 -36
- package/dist/handlers/FileLogHandler.d.ts.map +0 -1
- package/dist/handlers/FileLogHandler.js +0 -156
- package/dist/handlers/RemoteLogHandler.d.ts +0 -14
- package/dist/handlers/RemoteLogHandler.d.ts.map +0 -1
- package/dist/handlers/RemoteLogHandler.js +0 -37
- package/dist/handlers/index.d.ts +0 -8
- package/dist/handlers/index.d.ts.map +0 -1
- package/dist/handlers/index.js +0 -7
- package/dist/main.js +0 -139
- package/dist/styling/LogStyleBuilder.d.ts +0 -149
- package/dist/styling/LogStyleBuilder.d.ts.map +0 -1
- package/dist/styling/LogStyleBuilder.js +0 -289
- package/dist/styling/SemanticStyles.d.ts +0 -181
- package/dist/styling/SemanticStyles.d.ts.map +0 -1
- package/dist/styling/SemanticStyles.js +0 -339
- package/dist/styling/SmartPresets.js +0 -276
- package/dist/styling/StyleBuilder.js +0 -280
- package/dist/styling/banners.js +0 -155
- package/dist/styling/index.js +0 -9
- package/dist/styling/themes.js +0 -231
- package/dist/styling-module.d.ts +0 -185
- package/dist/styling-module.d.ts.map +0 -1
- package/dist/styling-module.js +0 -199
- package/dist/styling.cjs +0 -2
- package/dist/styling.cjs.map +0 -1
- package/dist/styling.js +0 -146
- package/dist/styling.js.map +0 -1
- package/dist/types/Logger.d.ts +0 -700
- package/dist/types/Logger.d.ts.map +0 -1
- package/dist/types/ScopedLogger.d.ts +0 -310
- package/dist/types/ScopedLogger.d.ts.map +0 -1
- package/dist/types/cli/CommandProcessor.d.ts +0 -100
- package/dist/types/cli/CommandProcessor.d.ts.map +0 -1
- package/dist/types/cli/commands/ConfigCommand.d.ts +0 -14
- package/dist/types/cli/commands/ConfigCommand.d.ts.map +0 -1
- package/dist/types/cli/commands/ExportCommand.d.ts +0 -48
- package/dist/types/cli/commands/ExportCommand.d.ts.map +0 -1
- package/dist/types/cli/commands/HistoryCommand.d.ts +0 -47
- package/dist/types/cli/commands/HistoryCommand.d.ts.map +0 -1
- package/dist/types/cli/commands/StatusCommand.d.ts +0 -30
- package/dist/types/cli/commands/StatusCommand.d.ts.map +0 -1
- package/dist/types/cli/commands/ThemeCommand.d.ts +0 -30
- package/dist/types/cli/commands/ThemeCommand.d.ts.map +0 -1
- package/dist/types/cli/help.d.ts +0 -12
- package/dist/types/cli/help.d.ts.map +0 -1
- package/dist/types/cli/index.d.ts +0 -15
- package/dist/types/cli/index.d.ts.map +0 -1
- package/dist/types/constants.d.ts +0 -119
- package/dist/types/constants.d.ts.map +0 -1
- package/dist/types/core.js +0 -28
- package/dist/types/example.d.ts +0 -18
- package/dist/types/example.d.ts.map +0 -1
- package/dist/types/exports-module.d.ts +0 -196
- package/dist/types/exports-module.d.ts.map +0 -1
- package/dist/types/handlers/AnalyticsLogHandler.d.ts +0 -8
- package/dist/types/handlers/AnalyticsLogHandler.d.ts.map +0 -1
- package/dist/types/handlers/ExportLogHandler.d.ts +0 -100
- package/dist/types/handlers/ExportLogHandler.d.ts.map +0 -1
- package/dist/types/handlers/FileLogHandler.d.ts +0 -33
- package/dist/types/handlers/FileLogHandler.d.ts.map +0 -1
- package/dist/types/handlers/RemoteLogHandler.d.ts +0 -11
- package/dist/types/handlers/RemoteLogHandler.d.ts.map +0 -1
- package/dist/types/handlers/index.d.ts +0 -8
- package/dist/types/handlers/index.d.ts.map +0 -1
- package/dist/types/handlers.js +0 -4
- package/dist/types/index.js +0 -4
- package/dist/types/main.d.ts +0 -2
- package/dist/types/main.d.ts.map +0 -1
- package/dist/types/styling/LogStyleBuilder.d.ts +0 -146
- package/dist/types/styling/LogStyleBuilder.d.ts.map +0 -1
- package/dist/types/styling/SemanticStyles.d.ts +0 -178
- package/dist/types/styling/SemanticStyles.d.ts.map +0 -1
- package/dist/types/styling/SmartPresets.d.ts +0 -22
- package/dist/types/styling/SmartPresets.d.ts.map +0 -1
- package/dist/types/styling/StyleBuilder.d.ts +0 -140
- package/dist/types/styling/StyleBuilder.d.ts.map +0 -1
- package/dist/types/styling/banners.d.ts +0 -42
- package/dist/types/styling/banners.d.ts.map +0 -1
- package/dist/types/styling/index.d.ts +0 -10
- package/dist/types/styling/index.d.ts.map +0 -1
- package/dist/types/styling/themes.d.ts +0 -7
- package/dist/types/styling/themes.d.ts.map +0 -1
- package/dist/types/styling-module.d.ts +0 -178
- package/dist/types/styling-module.d.ts.map +0 -1
- package/dist/types/types/core.d.ts +0 -221
- package/dist/types/types/core.d.ts.map +0 -1
- package/dist/types/types/handlers.d.ts +0 -85
- package/dist/types/types/handlers.d.ts.map +0 -1
- package/dist/types/types/index.d.ts +0 -7
- package/dist/types/types/index.d.ts.map +0 -1
- package/dist/types/utils/environment.d.ts +0 -47
- package/dist/types/utils/environment.d.ts.map +0 -1
- package/dist/types/utils/formatting.d.ts +0 -37
- package/dist/types/utils/formatting.d.ts.map +0 -1
- package/dist/types/utils/index.d.ts +0 -7
- package/dist/types/utils/index.d.ts.map +0 -1
- package/dist/types/utils/opentui-detection.d.ts +0 -34
- package/dist/types/utils/opentui-detection.d.ts.map +0 -1
- package/dist/types/utils/output.d.ts +0 -41
- package/dist/types/utils/output.d.ts.map +0 -1
- package/dist/types/utils/stackTrace.d.ts +0 -6
- package/dist/types/utils/stackTrace.d.ts.map +0 -1
- package/dist/types/utils/timestamps.d.ts +0 -20
- package/dist/types/utils/timestamps.d.ts.map +0 -1
- package/dist/utils/environment.d.ts +0 -47
- package/dist/utils/environment.d.ts.map +0 -1
- package/dist/utils/environment.js +0 -85
- package/dist/utils/formatting.js +0 -117
- package/dist/utils/index.js +0 -6
- package/dist/utils/opentui-detection.d.ts +0 -34
- package/dist/utils/opentui-detection.d.ts.map +0 -1
- package/dist/utils/opentui-detection.js +0 -116
- package/dist/utils/output.js +0 -150
- package/dist/utils/stackTrace.js +0 -81
- package/dist/utils/timestamps.js +0 -71
- package/dist/vite.svg +0 -1
- package/docs/API.md +0 -691
- package/docs/CORE.md +0 -264
- package/docs/DEVELOPMENT.md +0 -731
- package/docs/EXPORTS.md +0 -467
- package/docs/PACKAGES.md +0 -244
- package/docs/STYLING.md +0 -405
- package/docs/_config.yml +0 -36
- package/docs/index.md +0 -179
- package/examples/README.md +0 -208
- package/examples/basic-logging.js +0 -75
- package/examples/data-export.js +0 -234
- package/examples/package.json +0 -16
- package/examples/performance-timing.js +0 -170
- package/examples/simplified-api.js +0 -124
- package/examples/styling-themes.js +0 -207
- package/index.html +0 -358
- package/packages/core/package.json +0 -57
- package/packages/exports/package.json +0 -41
- package/packages/nodejs-opentui/README.md +0 -232
- package/packages/nodejs-opentui/package.json +0 -72
- package/packages/nodejs-opentui/src/LogRenderer.ts +0 -171
- package/packages/nodejs-opentui/src/OpenTUILogHandler.ts +0 -178
- package/packages/nodejs-opentui/src/components/LogBadge.tsx +0 -131
- package/packages/nodejs-opentui/src/index.ts +0 -133
- package/packages/nodejs-opentui/src/types.ts +0 -158
- package/packages/nodejs-opentui/tsconfig.json +0 -20
- package/packages/styling/package.json +0 -41
- package/project-utils/README.md +0 -172
- package/project-utils/auto-release-gemini.ts +0 -1193
- package/project-utils/auto-release-ui.ts +0 -1329
- package/project-utils/commit-generator.ts +0 -1385
- package/project-utils/commit-ui.ts +0 -264
- package/project-utils/git-utils.ts +0 -199
- package/project-utils/github-release-manager.ts +0 -466
- package/project-utils/project-config.ts +0 -260
- package/project-utils/prompt-templates.js +0 -345
- package/project-utils/prompt-templates.ts +0 -422
- package/project-utils/version-manager.ts +0 -1078
- package/public/vite.svg +0 -1
- package/src/Logger.ts +0 -1276
- package/src/ScopedLogger.ts +0 -454
- package/src/cli/CommandProcessor.ts +0 -248
- package/src/cli/commands/ConfigCommand.ts +0 -93
- package/src/cli/commands/ExportCommand.ts +0 -276
- package/src/cli/commands/HistoryCommand.ts +0 -117
- package/src/cli/commands/StatusCommand.ts +0 -112
- package/src/cli/commands/ThemeCommand.ts +0 -88
- package/src/cli/help.ts +0 -127
- package/src/cli/index.ts +0 -71
- package/src/constants.ts +0 -171
- package/src/core.ts +0 -393
- package/src/example.ts +0 -210
- package/src/exports-module.ts +0 -311
- package/src/handlers/AnalyticsLogHandler.ts +0 -22
- package/src/handlers/ExportLogHandler.ts +0 -609
- package/src/handlers/FileLogHandler.ts +0 -169
- package/src/handlers/RemoteLogHandler.ts +0 -42
- package/src/handlers/index.ts +0 -8
- package/src/index.ts +0 -209
- package/src/main.ts +0 -196
- package/src/style.css +0 -96
- package/src/styling/LogStyleBuilder.ts +0 -355
- package/src/styling/SemanticStyles.ts +0 -380
- package/src/styling/SmartPresets.ts +0 -288
- package/src/styling/StyleBuilder.ts +0 -319
- package/src/styling/banners.ts +0 -168
- package/src/styling/index.ts +0 -27
- package/src/styling/themes.ts +0 -235
- package/src/styling-module.ts +0 -244
- package/src/types/core.ts +0 -236
- package/src/types/handlers.ts +0 -95
- package/src/types/index.ts +0 -35
- package/src/typescript.svg +0 -1
- package/src/utils/environment.ts +0 -94
- package/src/utils/formatting.ts +0 -142
- package/src/utils/index.ts +0 -21
- package/src/utils/opentui-detection.ts +0 -138
- package/src/utils/output.ts +0 -185
- package/src/utils/stackTrace.ts +0 -95
- package/src/utils/timestamps.ts +0 -80
- package/src/vite-env.d.ts +0 -1
- package/test-core-browser.html +0 -237
- package/test-core-node.js +0 -63
- package/tests/test-conflict-resolution.ts +0 -391
- package/tests/validate-workflows.sh +0 -131
- package/tests/yaml-autofix.sh +0 -146
- package/tsconfig.json +0 -50
- package/vite.config.ts +0 -223
package/README.md
CHANGED
|
@@ -1,223 +1,333 @@
|
|
|
1
1
|
# ๐ Better Logger
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Logger avanzado para consola con estilos CSS, log context tipo MDC, transports (File / HTTP / OTLPโSigNoz), hooks, serializers y CLI integrado. Soporte dual browser/terminal.**
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@mks2508/better-logger)
|
|
6
|
-
[](https://bundlephobia.com/package/@mks2508/better-logger)
|
|
7
6
|
[](https://www.typescriptlang.org/)
|
|
8
7
|
[](https://github.com/MKS2508/advanced-logger/blob/main/LICENSE)
|
|
9
8
|
|
|
10
|
-
Transform your console logging experience with beautiful styling, professional themes, and advanced features that make debugging and monitoring a visual delight.
|
|
11
|
-
|
|
12
9
|
## โจ Features
|
|
13
10
|
|
|
14
|
-
|
|
15
|
-
- ๐จ **
|
|
16
|
-
- ๐ท๏ธ **
|
|
17
|
-
- ๐ **
|
|
18
|
-
-
|
|
19
|
-
- ๐๏ธ **Toggle Controls** - Show/hide elements with simple methods
|
|
20
|
-
- ๐ **Data Export** - CSV, JSON, XML export with filtering
|
|
21
|
-
- ๐ป **Interactive CLI** - Built-in command interface
|
|
22
|
-
- ๐ง **Modular Architecture** - Import only what you need
|
|
23
|
-
- ๐ฏ **TypeScript First** - Complete type safety and IntelliSense
|
|
11
|
+
### Core
|
|
12
|
+
- ๐จ **Estilos CSS en consola** โ gradientes, sombras, `%c` formatting, presets listos
|
|
13
|
+
- ๐ท๏ธ **Badges** โ etiquetado flexible con `badges()` / `badge()`
|
|
14
|
+
- ๐ **Temas adaptativos** โ detecciรณn automรกtica light/dark
|
|
15
|
+
- ๐ฏ **TypeScript first** โ tipado completo, cero `any` en la superficie pรบblica
|
|
24
16
|
|
|
25
|
-
|
|
17
|
+
### Niveles y verbosidad
|
|
18
|
+
- ๐ **6 niveles jerรกrquicos** โ `trace < debug < info < warn < error < critical` (+ `silent`)
|
|
19
|
+
- ๐ญ **`trace` alineado con OpenTelemetry** โ severity number OTel (1-24) listo para SigNoz
|
|
20
|
+
- ๐ **Verbosidad filtrable** โ `setVerbosity('warn')` filtra todo por debajo
|
|
26
21
|
|
|
27
|
-
###
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
### Log context (MDC)
|
|
23
|
+
- ๐งฉ **Contexto estructurado** โ `withContext({ requestId, userId })` se mergea en cada `TransportRecord`
|
|
24
|
+
- ๐งฌ **Loggers hijuelos** โ `child({ ... })` hereda contexto sin mutar al padre
|
|
25
|
+
- ๐ท๏ธ **Resource OTel** โ `setResource({ 'service.name': ... })` por logger
|
|
31
26
|
|
|
32
|
-
###
|
|
33
|
-
|
|
27
|
+
### Transports
|
|
28
|
+
- ๐ **File** โ async (`fs.promises`), bounded buffer, sanitizaciรณn de path, fallback a `localStorage` en browser
|
|
29
|
+
- ๐ **HTTP** โ batching, retry con backoff, bounded buffer (sin OOM), status check
|
|
30
|
+
- ๐ญ **OTLP โ SigNoz** โ payload OTLP/HTTP JSON spec-compliant, ingestion key desde env var (nunca hardcodeada)
|
|
31
|
+
- ๐งฉ **Custom** โ implementa `ITransport` y registra con `addTransport()`
|
|
34
32
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
### Hooks, serializers y mรกs
|
|
34
|
+
- ๐ช **Hooks** โ `on('beforeLog', ...)` (awaited, soporta redacciรณn PII) / `on('afterLog', ...)`
|
|
35
|
+
- ๐ **Middleware** โ pipeline `use((entry, next) => ...)`
|
|
36
|
+
- ๐งฌ **Serializers** โ transforma tipos antes de loggear (`addSerializer(Error, fn)`)
|
|
37
|
+
- ๐ฅ๏ธ **CLI integrado** โ spinners, boxes, tablas, steps, headers
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
npm install @mks2508/better-logger-styling
|
|
39
|
+
## ๐ฆ Instalaciรณn
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
npm install @mks2508/better-logger
|
|
41
|
+
```bash
|
|
42
|
+
npm install @mks2508/better-logger
|
|
43
|
+
# o
|
|
44
|
+
bun add @mks2508/better-logger
|
|
44
45
|
```
|
|
45
46
|
|
|
46
|
-
> ๐ **[View Complete Packages Guide โ](https://mks2508.github.io/advanced-logger/packages/)**
|
|
47
|
-
|
|
48
47
|
## ๐ Quick Start
|
|
49
48
|
|
|
50
|
-
|
|
51
|
-
```javascript
|
|
49
|
+
```typescript
|
|
52
50
|
import logger from '@mks2508/better-logger';
|
|
53
51
|
|
|
54
|
-
// Works perfectly out-of-the-box with adaptive themes
|
|
55
52
|
logger.info('Application started');
|
|
56
53
|
logger.success('Database connected');
|
|
57
54
|
logger.warn('High memory usage');
|
|
58
55
|
logger.error('Connection failed');
|
|
56
|
+
logger.critical('Disk full');
|
|
57
|
+
logger.trace('verbose internals'); // filtrado por defecto (verbosity=debug)
|
|
59
58
|
```
|
|
60
59
|
|
|
61
|
-
###
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
logger.preset('debug'); // Detailed development mode
|
|
60
|
+
### Importar mรฉtodos sueltos
|
|
61
|
+
|
|
62
|
+
```typescript
|
|
63
|
+
import { info, error, success, trace } from '@mks2508/better-logger';
|
|
64
|
+
info('Proceso iniciado');
|
|
65
|
+
success('โ Completado');
|
|
68
66
|
```
|
|
69
67
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
logger.showLocation();
|
|
75
|
-
logger.hideBadges();
|
|
68
|
+
## ๐ Niveles de log
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
trace(-1) < debug(0) < info(1) < warn(2) < error(3) < critical(4)
|
|
76
72
|
```
|
|
77
73
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
//
|
|
86
|
-
const api = logger.api('GraphQL').badges(['SLOW', 'CACHE']);
|
|
87
|
-
api.warn('Query timeout'); // [API] [SLOW] [CACHE] [GraphQL] Query timeout
|
|
88
|
-
api.auth('Invalid token'); // [API] [AUTH] [GraphQL] Invalid token
|
|
74
|
+
`trace` es el nivel mรกs bajo, alineado con la banda TRACE de OpenTelemetry (severity 1-4). Cada `TransportRecord` incluye `severityNumber` y `severityText` OTel automรกticamente.
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
import { LOG_LEVELS } from '@mks2508/better-logger';
|
|
78
|
+
|
|
79
|
+
logger.setVerbosity('debug'); // muestra trace + debug + ...
|
|
80
|
+
logger.setVerbosity('warn'); // solo warn, error, critical
|
|
81
|
+
logger.setVerbosity('silent'); // nada
|
|
89
82
|
```
|
|
90
83
|
|
|
91
|
-
|
|
92
|
-
```javascript
|
|
93
|
-
const dbLogger = logger.component('Database');
|
|
84
|
+
`success()` emite a **INFO severity** (con styling de success y `tag: 'success'` en el record, para que transports distingan success de info genรฉrico).
|
|
94
85
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
//
|
|
86
|
+
## ๐งฉ Log Context (MDC)
|
|
87
|
+
|
|
88
|
+
Contexto estructurado que se adjunta a **cada** log emitido y se mergea en `TransportRecord.attributes`:
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
// Mutar el logger (chaining)
|
|
92
|
+
logger.withContext({ requestId: 'req_123', userId: 'u_42' });
|
|
93
|
+
logger.info('processing'); // โ attributes: { requestId, userId }
|
|
94
|
+
|
|
95
|
+
// Limpiar
|
|
96
|
+
logger.clearContext();
|
|
97
|
+
|
|
98
|
+
// Snapshot read-only
|
|
99
|
+
const ctx = logger.getContext();
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Loggers hijuelos (inmutables)
|
|
103
|
+
|
|
104
|
+
`child()` devuelve un logger nuevo con contexto merged, **sin tocar al padre** โ ideal para request-scoped logging:
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
const requestLogger = logger.child({ requestId: getRequestId() });
|
|
108
|
+
requestLogger.info('auth ok'); // lleva requestId
|
|
109
|
+
logger.info('unrelated'); // NO lleva requestId (padre intacto)
|
|
101
110
|
```
|
|
102
111
|
|
|
103
|
-
###
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
logger.
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
112
|
+
### Resource OTel
|
|
113
|
+
|
|
114
|
+
```typescript
|
|
115
|
+
logger.setResource({
|
|
116
|
+
'service.name': 'my-app',
|
|
117
|
+
'service.version': '1.2.3',
|
|
118
|
+
'deployment.environment': 'production'
|
|
110
119
|
});
|
|
111
120
|
```
|
|
112
121
|
|
|
113
|
-
|
|
122
|
+
## ๐ก Transports
|
|
123
|
+
|
|
124
|
+
Los transports reciben cada `TransportRecord` y lo mandan a un destino. Se registran con `addTransport()`:
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
import logger, { FileTransport, HttpTransport, OtlpTransport } from '@mks2508/better-logger';
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### File (Node.js)
|
|
131
|
+
|
|
114
132
|
```typescript
|
|
115
|
-
|
|
133
|
+
logger.addTransport({
|
|
134
|
+
target: new FileTransport({
|
|
135
|
+
destination: '/var/log/app.log',
|
|
136
|
+
batchSize: 100,
|
|
137
|
+
flushInterval: 5000,
|
|
138
|
+
maxBufferSize: 10_000 // hard cap, drop oldest on overflow
|
|
139
|
+
}),
|
|
140
|
+
level: 'info'
|
|
141
|
+
});
|
|
142
|
+
```
|
|
116
143
|
|
|
117
|
-
|
|
144
|
+
- Escritura **async** con `fs.promises` (no bloquea el event loop)
|
|
145
|
+
- **Bounded buffer** โ si se llena, dropea el record mรกs viejo (avisa vรญa `onError`)
|
|
146
|
+
- Sanitizaciรณn de `destination` (sin path traversal)
|
|
147
|
+
- En **browser**: fallback silencioso a `localStorage`
|
|
118
148
|
|
|
119
|
-
|
|
120
|
-
logger.info('Application started', { version: '1.0.0' });
|
|
121
|
-
logger.success('Database connected successfully');
|
|
122
|
-
logger.warn('Memory usage high', { usage: '85%' });
|
|
123
|
-
logger.error('API request failed', { status: 500 });
|
|
149
|
+
### HTTP
|
|
124
150
|
|
|
125
|
-
|
|
126
|
-
logger.
|
|
127
|
-
|
|
128
|
-
|
|
151
|
+
```typescript
|
|
152
|
+
logger.addTransport({
|
|
153
|
+
target: new HttpTransport({
|
|
154
|
+
url: 'https://logs.example.com/ingest',
|
|
155
|
+
batchSize: 50,
|
|
156
|
+
flushInterval: 5000,
|
|
157
|
+
maxBufferSize: 10_000,
|
|
158
|
+
maxRetries: 3,
|
|
159
|
+
headers: { 'Authorization': `Bearer ${process.env.LOG_TOKEN}` }
|
|
160
|
+
}),
|
|
161
|
+
level: 'warn'
|
|
162
|
+
});
|
|
129
163
|
```
|
|
130
164
|
|
|
131
|
-
|
|
165
|
+
- Batching + flush periรณdico
|
|
166
|
+
- **Retry con backoff exponencial** (bounded)
|
|
167
|
+
- **Status check** โ solo re-bufferea en errores recuperables (5xx, red), descarta en 4xx
|
|
168
|
+
- Bounded buffer (sin OOM en outages largos)
|
|
132
169
|
|
|
133
|
-
|
|
170
|
+
### OTLP โ SigNoz (o cualquier backend OTLP/HTTP)
|
|
134
171
|
|
|
135
172
|
```typescript
|
|
136
|
-
|
|
173
|
+
logger.addTransport({
|
|
174
|
+
target: new OtlpTransport({
|
|
175
|
+
endpoint: 'https://otelcollector.example.com:4318',
|
|
176
|
+
serviceName: 'my-app', // requerido (service.name)
|
|
177
|
+
serviceVersion: '1.2.3',
|
|
178
|
+
environment: 'production',
|
|
179
|
+
ingestKeyEnvVar: 'SIGNOZ_KEY', // lee process.env.SIGNOZ_KEY โ NUNCA hardcodear
|
|
180
|
+
batchSize: 50,
|
|
181
|
+
flushInterval: 5000
|
|
182
|
+
})
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
logger.info('Hola desde better-logger โ SigNoz');
|
|
186
|
+
// โ POST <endpoint>/v1/logs con payload OTLP/HTTP JSON
|
|
187
|
+
// โ visible en SigNoz Logs UI
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
El transport POSTea a `<endpoint>/v1/logs` con el body `LogsData` spec-compliant (`resourceLogs` โ `scopeLogs` โ `logRecords`). La ingestion key se lee de la **env var** indicada en `ingestKeyEnvVar` al construir el transport โ no se escribe en cรณdigo ni en el record.
|
|
191
|
+
|
|
192
|
+
> ๐ **Seguridad:** la key vive en tu gestor de secrets (Bitwarden / Coolify env) y se inyecta vรญa `process.env`. El transport no la loguea ni la serializa.
|
|
137
193
|
|
|
138
|
-
|
|
194
|
+
### Registry de strings
|
|
139
195
|
|
|
140
|
-
|
|
141
|
-
logger.executeCommand('/interactive');
|
|
196
|
+
Para los 4 built-ins puedes usar el nombre en vez de la instancia:
|
|
142
197
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
198
|
+
```typescript
|
|
199
|
+
logger.addTransport({ target: 'file', options: { destination: '/var/log/app.log' } });
|
|
200
|
+
logger.addTransport({ target: 'console' });
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Para Otlp conviene la **instancia directa** (opciones tipadas: `endpoint`, `serviceName`, `ingestKeyEnvVar`).
|
|
148
204
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
205
|
+
### Custom transport
|
|
206
|
+
|
|
207
|
+
```typescript
|
|
208
|
+
import type { ITransport, TransportRecord } from '@mks2508/better-logger';
|
|
209
|
+
|
|
210
|
+
const elastic: ITransport = {
|
|
211
|
+
name: 'elasticsearch',
|
|
212
|
+
async write(record: TransportRecord) {
|
|
213
|
+
await fetch('https://es.example.com/logs/_doc', {
|
|
214
|
+
method: 'POST',
|
|
215
|
+
headers: { 'content-type': 'application/json' },
|
|
216
|
+
body: JSON.stringify(record)
|
|
217
|
+
});
|
|
218
|
+
},
|
|
219
|
+
async flush() { /* ... */ },
|
|
220
|
+
async close() { /* ... */ }
|
|
156
221
|
};
|
|
157
|
-
|
|
222
|
+
|
|
223
|
+
logger.addTransport({ target: elastic });
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### Flush y shutdown
|
|
227
|
+
|
|
228
|
+
```typescript
|
|
229
|
+
await logger.flushTransports(); // fuerza el envรญo del buffer
|
|
230
|
+
await logger.closeTransports(); // cierra todos (drain)
|
|
158
231
|
```
|
|
159
232
|
|
|
160
|
-
|
|
233
|
+
En shutdown limpio: `await logger.cleanup()` hace drain de transports + reset de estado.
|
|
161
234
|
|
|
162
|
-
|
|
235
|
+
## ๐ช Hooks & Middleware
|
|
163
236
|
|
|
164
237
|
```typescript
|
|
165
|
-
//
|
|
166
|
-
|
|
238
|
+
// beforeLog es AWAITED โ las mutaciones se reflejan en el mensaje emitido
|
|
239
|
+
logger.on('beforeLog', (entry) => {
|
|
240
|
+
entry.message = entry.message.replace(/password=\S+/g, 'password=***');
|
|
241
|
+
return entry;
|
|
242
|
+
});
|
|
167
243
|
|
|
168
|
-
//
|
|
169
|
-
|
|
244
|
+
// afterLog es fire-and-forget (no cambia el mensaje ya en pantalla)
|
|
245
|
+
logger.on('afterLog', (entry) => {
|
|
246
|
+
metrics.increment(`logs.${entry.level}`);
|
|
247
|
+
});
|
|
170
248
|
|
|
171
|
-
//
|
|
172
|
-
|
|
249
|
+
// Correlation ID en cada log
|
|
250
|
+
logger.use((entry, next) => {
|
|
251
|
+
entry.correlationId = getCorrelationId();
|
|
252
|
+
next();
|
|
253
|
+
});
|
|
173
254
|
```
|
|
174
255
|
|
|
175
|
-
|
|
256
|
+
`on()` / `once()` / `off()` / `use()` devuelven una funciรณn de unsub.
|
|
176
257
|
|
|
177
|
-
|
|
178
|
-
|--------|------|---------|----------|
|
|
179
|
-
| **Core** | 6KB | 2KB | Essential logging, Node.js apps |
|
|
180
|
-
| **Styling** | 26KB | 5KB | Frontend apps, visual debugging |
|
|
181
|
-
| **Exports** | 12KB | 3KB | Production logging, analytics |
|
|
182
|
-
| **Full** | 64KB | 13KB | Complete feature set |
|
|
258
|
+
## ๐งฌ Serializers
|
|
183
259
|
|
|
184
|
-
|
|
260
|
+
Transforma tipos antes de serializarlos al log:
|
|
185
261
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
262
|
+
```typescript
|
|
263
|
+
logger.addSerializer(Error, (err) => ({
|
|
264
|
+
name: err.name,
|
|
265
|
+
message: err.message,
|
|
266
|
+
stack: err.stack?.split('\n').slice(0, 5)
|
|
267
|
+
}));
|
|
268
|
+
|
|
269
|
+
logger.addSerializer(User, (user) => ({
|
|
270
|
+
id: user.id,
|
|
271
|
+
email: user.email // password omitido
|
|
272
|
+
}));
|
|
273
|
+
|
|
274
|
+
logger.error('Failed:', new Error('timeout')); // Error serializado custom
|
|
275
|
+
```
|
|
191
276
|
|
|
192
|
-
|
|
193
|
-
- **[๐ Live Demo](https://mks2508.github.io/advanced-logger/)** - Try all features in your browser
|
|
194
|
-
- **[๐ Examples](examples/)** - 4 comprehensive tutorials with runnable code
|
|
277
|
+
## ๐ท๏ธ Scoped Loggers
|
|
195
278
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
279
|
+
```typescript
|
|
280
|
+
// Scope simple
|
|
281
|
+
const auth = logger.scope('Auth');
|
|
282
|
+
auth.info('validating token');
|
|
283
|
+
|
|
284
|
+
// Component (auto-badge COMPONENT)
|
|
285
|
+
const db = logger.component('Database');
|
|
286
|
+
db.lifecycle('connect', 'pool ready');
|
|
287
|
+
|
|
288
|
+
// API (auto-badge API, +mรฉtodos slow/rateLimit/auth/deprecated)
|
|
289
|
+
const api = logger.api('GraphQL');
|
|
290
|
+
api.slow('query timeout', 1200);
|
|
291
|
+
api.deprecated('use v2 endpoint');
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### Context logger (bloques anidados)
|
|
295
|
+
|
|
296
|
+
```typescript
|
|
297
|
+
const request = logger.scope('Request');
|
|
298
|
+
|
|
299
|
+
await request.context('auth').runAsync(async () => {
|
|
300
|
+
// prefix efectivo: "Request:auth"
|
|
301
|
+
request.info('checking credentials');
|
|
302
|
+
await request.context('db').runAsync(async () => {
|
|
303
|
+
// prefix: "Request:auth:db"
|
|
304
|
+
request.info('querying user');
|
|
305
|
+
});
|
|
306
|
+
});
|
|
203
307
|
```
|
|
204
308
|
|
|
205
|
-
## ๐จ
|
|
309
|
+
## ๐จ Styling
|
|
206
310
|
|
|
207
|
-
### Professional Themes
|
|
208
311
|
```typescript
|
|
209
|
-
|
|
312
|
+
// Presets
|
|
313
|
+
logger.preset('cyberpunk'); // neรณn, glow
|
|
314
|
+
logger.preset('glassmorphism'); // blur moderno
|
|
315
|
+
logger.preset('minimal');
|
|
316
|
+
logger.preset('debug');
|
|
317
|
+
|
|
318
|
+
// Toggles
|
|
319
|
+
logger.hideTimestamp().showLocation().hideBadges();
|
|
210
320
|
|
|
211
|
-
|
|
212
|
-
setTheme('
|
|
213
|
-
setTheme('dark'); // Dark mode optimized
|
|
321
|
+
// Tema
|
|
322
|
+
logger.setTheme('dark'); // 'default' | 'dark' | 'light' | 'neon' | 'minimal' | 'cyberpunk'
|
|
214
323
|
```
|
|
215
324
|
|
|
216
|
-
###
|
|
325
|
+
### Estilos custom (StyleBuilder)
|
|
326
|
+
|
|
217
327
|
```typescript
|
|
218
|
-
import { createStyle } from '@mks2508/better-logger
|
|
328
|
+
import { createStyle } from '@mks2508/better-logger';
|
|
219
329
|
|
|
220
|
-
const
|
|
330
|
+
const style = createStyle()
|
|
221
331
|
.bg('linear-gradient(45deg, #667eea, #764ba2)')
|
|
222
332
|
.color('white')
|
|
223
333
|
.padding('12px 24px')
|
|
@@ -225,61 +335,55 @@ const customStyle = createStyle()
|
|
|
225
335
|
.shadow('0 4px 15px rgba(102, 126, 234, 0.4)')
|
|
226
336
|
.build();
|
|
227
337
|
|
|
228
|
-
console.log('%c๐
|
|
338
|
+
console.log('%c๐ Hello', style);
|
|
229
339
|
```
|
|
230
340
|
|
|
231
|
-
##
|
|
341
|
+
## ๐ฅ๏ธ CLI Primitives
|
|
232
342
|
|
|
233
|
-
|
|
234
|
-
```typescript
|
|
235
|
-
import { initializeCLI } from '@mks2508/better-logger/cli';
|
|
236
|
-
initializeCLI(logger);
|
|
343
|
+
Spinners, boxes, tablas, steps y headers para CLIs Node.js:
|
|
237
344
|
|
|
238
|
-
// Available in browser console:
|
|
239
|
-
// /help /theme /export /clear /status
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
### Performance Monitoring
|
|
243
345
|
```typescript
|
|
244
|
-
logger.
|
|
245
|
-
|
|
246
|
-
logger.
|
|
346
|
+
logger.header('Deploy', 'production');
|
|
347
|
+
logger.step(2, 5, 'building');
|
|
348
|
+
logger.spinner('uploading...');
|
|
349
|
+
|
|
350
|
+
logger.box('Build complete', { border: 'round' });
|
|
351
|
+
logger.cliTable([
|
|
352
|
+
{ service: 'api', status: 'ok' },
|
|
353
|
+
{ service: 'db', status: 'ok' }
|
|
354
|
+
]);
|
|
247
355
|
```
|
|
248
356
|
|
|
249
|
-
|
|
357
|
+
## ๐ง Configuraciรณn avanzada
|
|
358
|
+
|
|
250
359
|
```typescript
|
|
251
|
-
import {
|
|
360
|
+
import { Logger } from '@mks2508/better-logger';
|
|
252
361
|
|
|
253
|
-
const logger = new
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
362
|
+
const logger = new Logger({
|
|
363
|
+
prefix: 'APP',
|
|
364
|
+
verbosity: 'debug',
|
|
365
|
+
enableStackTrace: true,
|
|
366
|
+
theme: 'dark',
|
|
367
|
+
timestampFormat: 'iso'
|
|
257
368
|
});
|
|
258
|
-
```
|
|
259
369
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
- โ
**Node.js** - Core features with graceful fallbacks
|
|
264
|
-
- โ
**TypeScript** - Complete type definitions
|
|
265
|
-
- โ
**ESM & CommonJS** - Both module systems supported
|
|
266
|
-
|
|
267
|
-
## ๐ Resources
|
|
268
|
-
|
|
269
|
-
- ๐ฆ **[NPM Package](https://www.npmjs.com/package/@mks2508/better-logger)**
|
|
270
|
-
- ๐ฎ **[Interactive Demo](https://mks2508.github.io/advanced-logger/)**
|
|
271
|
-
- ๐ **[Documentation](docs/)**
|
|
272
|
-
- ๐งฉ **[Examples](examples/)**
|
|
273
|
-
- ๐ **[Issues & Support](https://github.com/MKS2508/advanced-logger/issues)**
|
|
370
|
+
logger.updateConfig({ verbosity: 'warn' });
|
|
371
|
+
logger.resetConfig();
|
|
372
|
+
```
|
|
274
373
|
|
|
275
|
-
##
|
|
374
|
+
## ๐ Compatibilidad
|
|
276
375
|
|
|
277
|
-
|
|
376
|
+
- โ
**Browsers modernos** โ soporte completo (CSS, DevTools, localStorage fallback)
|
|
377
|
+
- โ
**Node.js** โ core + transports (File async, HTTP, OTLP)
|
|
378
|
+
- โ
**TypeScript** โ definiciones completas
|
|
379
|
+
- โ
**ESM & CommonJS** โ ambos exports
|
|
278
380
|
|
|
279
|
-
##
|
|
381
|
+
## ๐ Recursos
|
|
280
382
|
|
|
281
|
-
|
|
383
|
+
- ๐ฆ **[NPM](https://www.npmjs.com/package/@mks2508/better-logger)**
|
|
384
|
+
- ๐ **[Documentaciรณn](docs/)** โ [API](docs/API.md) ยท [Core](docs/CORE.md) ยท [Exports](docs/EXPORTS.md) ยท [Styling](docs/STYLING.md)
|
|
385
|
+
- ๐ **[Issues](https://github.com/MKS2508/advanced-logger/issues)**
|
|
282
386
|
|
|
283
|
-
|
|
387
|
+
## ๐ Licencia
|
|
284
388
|
|
|
285
|
-
|
|
389
|
+
MIT โ ver [LICENSE](LICENSE).
|