@mks2508/better-logger 0.0.2-alpha.2 → 0.3.0
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/.claude/settings.local.json +18 -2
- package/.github/workflows/ci-quality.yml +357 -0
- package/.github/workflows/docs-demo.yml +119 -0
- package/.github/workflows/releases-core.yml +512 -0
- package/.github/workflows/releases-full.yml +582 -0
- package/.github/{workflows → workflows-backup}/ci.yml +12 -110
- package/.github/workflows-backup/nightly.yml +196 -0
- package/.github/workflows-backup/release-optimized.yml +373 -0
- package/.release-notes-0.2.0.md +129 -0
- package/.yamllint +28 -0
- package/CHANGELOG.json +783 -0
- package/CLAUDE.md +92 -1
- package/README.md +198 -490
- package/bun.lock +323 -0
- package/demo.html +9 -2
- package/dist/.tsbuildinfo +1 -0
- package/dist/Logger.d.ts +272 -0
- package/dist/Logger.d.ts.map +1 -0
- package/dist/Logger.js +680 -0
- package/dist/ScopedLogger.d.ts +126 -0
- package/dist/ScopedLogger.d.ts.map +1 -0
- package/dist/ScopedLogger.js +234 -0
- package/dist/chunks/Logger-BpeuYIxR.js +2 -0
- package/dist/chunks/Logger-BpeuYIxR.js.map +1 -0
- package/dist/chunks/Logger-Didxtr23.js +3275 -0
- package/dist/chunks/Logger-Didxtr23.js.map +1 -0
- package/dist/chunks/RemoteLogHandler-CjWpWZGl.js +33 -0
- package/dist/chunks/RemoteLogHandler-CjWpWZGl.js.map +1 -0
- package/dist/chunks/RemoteLogHandler-ymkQ97xl.js +2 -0
- package/dist/chunks/RemoteLogHandler-ymkQ97xl.js.map +1 -0
- package/dist/chunks/environment-Bxbnw4pd.js +544 -0
- package/dist/chunks/environment-Bxbnw4pd.js.map +1 -0
- package/dist/chunks/environment-Dm66zOML.js +4 -0
- package/dist/chunks/environment-Dm66zOML.js.map +1 -0
- package/dist/chunks/formatting-C0riPC5_.js +95 -0
- package/dist/chunks/formatting-C0riPC5_.js.map +1 -0
- package/dist/chunks/formatting-DNCAV66-.js +2 -0
- package/dist/chunks/formatting-DNCAV66-.js.map +1 -0
- package/dist/cli/CommandProcessor.d.ts +103 -0
- package/dist/cli/CommandProcessor.d.ts.map +1 -0
- package/dist/cli/CommandProcessor.js +184 -0
- package/dist/cli/commands/ConfigCommand.d.ts +17 -0
- package/dist/cli/commands/ConfigCommand.d.ts.map +1 -0
- package/dist/cli/commands/ConfigCommand.js +88 -0
- package/dist/cli/commands/ExportCommand.d.ts +51 -0
- package/dist/cli/commands/ExportCommand.d.ts.map +1 -0
- package/dist/cli/commands/ExportCommand.js +243 -0
- package/dist/cli/commands/HistoryCommand.d.ts +50 -0
- package/dist/cli/commands/HistoryCommand.d.ts.map +1 -0
- package/dist/cli/commands/HistoryCommand.js +96 -0
- package/dist/cli/commands/StatusCommand.d.ts +33 -0
- package/dist/cli/commands/StatusCommand.d.ts.map +1 -0
- package/dist/cli/commands/StatusCommand.js +93 -0
- package/dist/cli/commands/ThemeCommand.d.ts +33 -0
- package/dist/cli/commands/ThemeCommand.d.ts.map +1 -0
- package/dist/cli/commands/ThemeCommand.js +79 -0
- package/dist/cli/help.d.ts +15 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +118 -0
- package/dist/cli/index.d.ts +15 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +46 -0
- package/dist/constants.d.ts +122 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +159 -0
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.ts +134 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +315 -242
- package/dist/core.js.map +1 -1
- package/dist/example.d.ts +18 -0
- package/dist/example.d.ts.map +1 -0
- package/dist/example.js +154 -0
- package/dist/exports-module.d.ts +203 -0
- package/dist/exports-module.d.ts.map +1 -0
- package/dist/exports-module.js +260 -0
- package/dist/exports.cjs +1 -1
- package/dist/exports.cjs.map +1 -1
- package/dist/exports.js +5 -4
- package/dist/exports.js.map +1 -1
- package/dist/handlers/AnalyticsLogHandler.d.ts +11 -0
- package/dist/handlers/AnalyticsLogHandler.d.ts.map +1 -0
- package/dist/handlers/AnalyticsLogHandler.js +19 -0
- package/dist/handlers/ExportLogHandler.d.ts +103 -0
- package/dist/handlers/ExportLogHandler.d.ts.map +1 -0
- package/dist/handlers/ExportLogHandler.js +516 -0
- package/dist/handlers/FileLogHandler.d.ts +36 -0
- package/dist/handlers/FileLogHandler.d.ts.map +1 -0
- package/dist/handlers/FileLogHandler.js +156 -0
- package/dist/handlers/RemoteLogHandler.d.ts +14 -0
- package/dist/handlers/RemoteLogHandler.d.ts.map +1 -0
- package/dist/handlers/RemoteLogHandler.js +37 -0
- package/dist/handlers/index.d.ts +8 -0
- package/dist/handlers/index.d.ts.map +1 -0
- package/dist/handlers/index.js +7 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +86 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +89 -103
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +139 -0
- package/dist/styling/LogStyleBuilder.d.ts +149 -0
- package/dist/styling/LogStyleBuilder.d.ts.map +1 -0
- package/dist/styling/LogStyleBuilder.js +289 -0
- package/dist/styling/SemanticStyles.d.ts +181 -0
- package/dist/styling/SemanticStyles.d.ts.map +1 -0
- package/dist/styling/SemanticStyles.js +339 -0
- package/dist/styling/SmartPresets.d.ts +25 -0
- package/dist/styling/SmartPresets.d.ts.map +1 -0
- package/dist/styling/SmartPresets.js +276 -0
- package/dist/styling/StyleBuilder.d.ts +140 -0
- package/dist/styling/StyleBuilder.d.ts.map +1 -0
- package/dist/styling/StyleBuilder.js +280 -0
- package/dist/styling/banners.d.ts +45 -0
- package/dist/styling/banners.d.ts.map +1 -0
- package/dist/styling/banners.js +155 -0
- package/dist/styling/index.d.ts +10 -0
- package/dist/styling/index.d.ts.map +1 -0
- package/dist/styling/index.js +9 -0
- package/dist/styling/themes.d.ts +10 -0
- package/dist/styling/themes.d.ts.map +1 -0
- package/dist/styling/themes.js +231 -0
- package/dist/styling-module.d.ts +185 -0
- package/dist/styling-module.d.ts.map +1 -0
- package/dist/styling-module.js +199 -0
- package/dist/styling.cjs +1 -1
- package/dist/styling.cjs.map +1 -1
- package/dist/styling.js +6 -6
- package/dist/styling.js.map +1 -1
- package/dist/types/Logger.d.ts +268 -0
- package/dist/types/Logger.d.ts.map +1 -0
- package/dist/types/ScopedLogger.d.ts +123 -0
- package/dist/types/ScopedLogger.d.ts.map +1 -0
- package/dist/types/cli/CommandProcessor.d.ts +100 -0
- package/dist/types/cli/CommandProcessor.d.ts.map +1 -0
- package/dist/types/cli/commands/ConfigCommand.d.ts +14 -0
- package/dist/types/cli/commands/ConfigCommand.d.ts.map +1 -0
- package/dist/types/cli/commands/ExportCommand.d.ts +48 -0
- package/dist/types/cli/commands/ExportCommand.d.ts.map +1 -0
- package/dist/types/cli/commands/HistoryCommand.d.ts +47 -0
- package/dist/types/cli/commands/HistoryCommand.d.ts.map +1 -0
- package/dist/types/cli/commands/StatusCommand.d.ts +30 -0
- package/dist/types/cli/commands/StatusCommand.d.ts.map +1 -0
- package/dist/types/cli/commands/ThemeCommand.d.ts +30 -0
- package/dist/types/cli/commands/ThemeCommand.d.ts.map +1 -0
- package/dist/types/cli/help.d.ts +12 -0
- package/dist/types/cli/help.d.ts.map +1 -0
- package/dist/types/cli/index.d.ts +15 -0
- package/dist/types/cli/index.d.ts.map +1 -0
- package/dist/types/constants.d.ts +119 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/core.d.ts +125 -211
- package/dist/types/core.d.ts.map +1 -0
- package/dist/types/core.js +13 -0
- package/dist/types/example.d.ts +18 -0
- package/dist/types/example.d.ts.map +1 -0
- package/dist/types/exports-module.d.ts +196 -0
- package/dist/types/exports-module.d.ts.map +1 -0
- package/dist/types/handlers/AnalyticsLogHandler.d.ts +8 -0
- package/dist/types/handlers/AnalyticsLogHandler.d.ts.map +1 -0
- package/dist/types/handlers/ExportLogHandler.d.ts +100 -0
- package/dist/types/handlers/ExportLogHandler.d.ts.map +1 -0
- package/dist/types/handlers/FileLogHandler.d.ts +33 -0
- package/dist/types/handlers/FileLogHandler.d.ts.map +1 -0
- package/dist/types/handlers/RemoteLogHandler.d.ts +11 -0
- package/dist/types/handlers/RemoteLogHandler.d.ts.map +1 -0
- package/dist/types/handlers/index.d.ts +8 -0
- package/dist/types/handlers/index.d.ts.map +1 -0
- package/dist/types/handlers.d.ts +88 -0
- package/dist/types/handlers.d.ts.map +1 -0
- package/dist/types/handlers.js +4 -0
- package/dist/types/index.d.ts +7 -675
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/main.d.ts +2 -0
- package/dist/types/main.d.ts.map +1 -0
- package/dist/types/styling/LogStyleBuilder.d.ts +146 -0
- package/dist/types/styling/LogStyleBuilder.d.ts.map +1 -0
- package/dist/types/styling/SemanticStyles.d.ts +178 -0
- package/dist/types/styling/SemanticStyles.d.ts.map +1 -0
- package/dist/types/styling/SmartPresets.d.ts +22 -0
- package/dist/types/styling/SmartPresets.d.ts.map +1 -0
- package/dist/types/styling/StyleBuilder.d.ts +140 -0
- package/dist/types/styling/StyleBuilder.d.ts.map +1 -0
- package/dist/types/styling/banners.d.ts +42 -0
- package/dist/types/styling/banners.d.ts.map +1 -0
- package/dist/types/styling/index.d.ts +10 -0
- package/dist/types/styling/index.d.ts.map +1 -0
- package/dist/types/styling/themes.d.ts +7 -0
- package/dist/types/styling/themes.d.ts.map +1 -0
- package/dist/types/styling-module.d.ts +178 -0
- package/dist/types/styling-module.d.ts.map +1 -0
- package/dist/types/types/core.d.ts +125 -0
- package/dist/types/types/core.d.ts.map +1 -0
- package/dist/types/types/handlers.d.ts +85 -0
- package/dist/types/types/handlers.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +7 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/utils/environment.d.ts +47 -0
- package/dist/types/utils/environment.d.ts.map +1 -0
- package/dist/types/utils/formatting.d.ts +37 -0
- package/dist/types/utils/formatting.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +7 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/opentui-detection.d.ts +34 -0
- package/dist/types/utils/opentui-detection.d.ts.map +1 -0
- package/dist/types/utils/output.d.ts +41 -0
- package/dist/types/utils/output.d.ts.map +1 -0
- package/dist/types/utils/stackTrace.d.ts +6 -0
- package/dist/types/utils/stackTrace.d.ts.map +1 -0
- package/dist/types/utils/timestamps.d.ts +20 -0
- package/dist/types/utils/timestamps.d.ts.map +1 -0
- package/dist/utils/environment.d.ts +47 -0
- package/dist/utils/environment.d.ts.map +1 -0
- package/dist/utils/environment.js +85 -0
- package/dist/utils/formatting.d.ts +40 -0
- package/dist/utils/formatting.d.ts.map +1 -0
- package/dist/utils/formatting.js +117 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/opentui-detection.d.ts +34 -0
- package/dist/utils/opentui-detection.d.ts.map +1 -0
- package/dist/utils/opentui-detection.js +116 -0
- package/dist/utils/output.d.ts +44 -0
- package/dist/utils/output.d.ts.map +1 -0
- package/dist/utils/output.js +150 -0
- package/dist/utils/stackTrace.d.ts +9 -0
- package/dist/utils/stackTrace.d.ts.map +1 -0
- package/dist/utils/stackTrace.js +81 -0
- package/dist/utils/timestamps.d.ts +20 -0
- package/dist/utils/timestamps.d.ts.map +1 -0
- package/dist/utils/timestamps.js +71 -0
- package/docs/API.md +691 -0
- package/docs/CORE.md +10 -10
- package/docs/DEVELOPMENT.md +731 -0
- package/docs/PACKAGES.md +244 -0
- package/docs/_config.yml +36 -0
- package/docs/index.md +179 -0
- package/examples/README.md +208 -0
- package/examples/basic-logging.js +75 -0
- package/examples/data-export.js +234 -0
- package/examples/package.json +16 -0
- package/examples/performance-timing.js +170 -0
- package/examples/simplified-api.js +124 -0
- package/examples/styling-themes.js +207 -0
- package/package.json +37 -21
- package/packages/core/package.json +57 -0
- package/packages/exports/package.json +41 -0
- package/packages/nodejs-opentui/README.md +232 -0
- package/packages/nodejs-opentui/package.json +72 -0
- package/packages/nodejs-opentui/src/LogRenderer.ts +171 -0
- package/packages/nodejs-opentui/src/OpenTUILogHandler.ts +178 -0
- package/packages/nodejs-opentui/src/components/LogBadge.tsx +131 -0
- package/packages/nodejs-opentui/src/index.ts +133 -0
- package/packages/nodejs-opentui/src/types.ts +158 -0
- package/packages/nodejs-opentui/tsconfig.json +20 -0
- package/packages/styling/package.json +41 -0
- package/project-utils/README.md +172 -0
- package/project-utils/auto-release-gemini.ts +1193 -0
- package/project-utils/auto-release-ui.ts +1329 -0
- package/project-utils/commit-generator.ts +1385 -0
- package/project-utils/commit-ui.ts +264 -0
- package/project-utils/git-utils.ts +199 -0
- package/project-utils/github-release-manager.ts +466 -0
- package/project-utils/project-config.ts +260 -0
- package/project-utils/prompt-templates.js +345 -0
- package/project-utils/prompt-templates.ts +422 -0
- package/project-utils/version-manager.ts +1078 -0
- package/src/Logger.ts +251 -16
- package/src/ScopedLogger.ts +262 -0
- package/src/cli/CommandProcessor.ts +173 -2
- package/src/cli/commands/HistoryCommand.ts +117 -0
- package/src/cli/index.ts +12 -0
- package/src/constants.ts +84 -2
- package/src/core.ts +119 -46
- package/src/example.ts +4 -4
- package/src/exports-module.ts +1 -1
- package/src/handlers/ExportLogHandler.ts +141 -0
- package/src/handlers/FileLogHandler.ts +144 -5
- package/src/index.ts +1 -1
- package/src/main.ts +3 -3
- package/src/styling/LogStyleBuilder.ts +355 -0
- package/src/styling/SemanticStyles.ts +380 -0
- package/src/styling/SmartPresets.ts +288 -0
- package/src/styling/StyleBuilder.ts +14 -0
- package/src/styling/index.ts +16 -1
- package/src/styling-module.ts +1 -1
- package/src/types/core.ts +60 -0
- package/src/types/index.ts +6 -0
- package/src/utils/environment.ts +94 -0
- package/src/utils/formatting.ts +142 -0
- package/src/utils/index.ts +3 -0
- package/src/utils/opentui-detection.ts +138 -0
- package/src/utils/output.ts +66 -8
- package/test-core-browser.html +237 -0
- package/test-core-node.js +63 -0
- package/tests/test-conflict-resolution.ts +391 -0
- package/tests/validate-workflows.sh +131 -0
- package/tests/yaml-autofix.sh +146 -0
- package/vite.config.ts +189 -50
- package/.npmrc.bak +0 -1
- package/dist/chunks/Logger-BQhMKy_T.js +0 -2
- package/dist/chunks/Logger-BQhMKy_T.js.map +0 -1
- package/dist/chunks/Logger-BrFKFZcD.js +0 -978
- package/dist/chunks/Logger-BrFKFZcD.js.map +0 -1
- package/dist/chunks/core-2opW4Pi3.js +0 -194
- package/dist/chunks/core-2opW4Pi3.js.map +0 -1
- package/dist/chunks/core-DyugwSYZ.js +0 -4
- package/dist/chunks/core-DyugwSYZ.js.map +0 -1
- package/dist/chunks/exports-BNP3R7dp.js +0 -421
- package/dist/chunks/exports-BNP3R7dp.js.map +0 -1
- package/dist/chunks/exports-U1xLBXrY.js +0 -2
- package/dist/chunks/exports-U1xLBXrY.js.map +0 -1
- package/dist/chunks/styling-DhUDzwlE.js +0 -654
- package/dist/chunks/styling-DhUDzwlE.js.map +0 -1
- package/dist/chunks/styling-tmRDI28D.js +0 -2
- package/dist/chunks/styling-tmRDI28D.js.map +0 -1
- package/dist/types/exports.d.ts +0 -600
- package/dist/types/styling.d.ts +0 -751
- package/src/Logger.ts.backup +0 -1684
- /package/.github/{workflows → workflows-backup}/release.yml +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Export and clipboard commands for Advanced Logger CLI
|
|
3
|
+
*/
|
|
4
|
+
import type { ICommand } from '../CommandProcessor.js';
|
|
5
|
+
import type { Logger } from '../../Logger.js';
|
|
6
|
+
/**
|
|
7
|
+
* Export command - export logs in various formats
|
|
8
|
+
*/
|
|
9
|
+
export declare class ExportCommand implements ICommand {
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
usage: string;
|
|
13
|
+
execute(args: string, logger: Logger): void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Copy command - copy logs to clipboard
|
|
17
|
+
*/
|
|
18
|
+
export declare class CopyCommand implements ICommand {
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
usage: string;
|
|
22
|
+
execute(args: string, logger: Logger): Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Buffer-size command - configure buffer size
|
|
26
|
+
*/
|
|
27
|
+
export declare class BufferSizeCommand implements ICommand {
|
|
28
|
+
name: string;
|
|
29
|
+
description: string;
|
|
30
|
+
usage: string;
|
|
31
|
+
execute(args: string, logger: Logger): void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Clear-buffer command - clear log buffer
|
|
35
|
+
*/
|
|
36
|
+
export declare class ClearBufferCommand implements ICommand {
|
|
37
|
+
name: string;
|
|
38
|
+
description: string;
|
|
39
|
+
usage: string;
|
|
40
|
+
execute(_args: string, logger: Logger): void;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Buffer-info command - show buffer information
|
|
44
|
+
*/
|
|
45
|
+
export declare class BufferInfoCommand implements ICommand {
|
|
46
|
+
name: string;
|
|
47
|
+
description: string;
|
|
48
|
+
usage: string;
|
|
49
|
+
execute(_args: string, logger: Logger): void;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=ExportCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExportCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ExportCommand.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAiG9C;;GAEG;AACH,qBAAa,aAAc,YAAW,QAAQ;IAC1C,IAAI,SAAY;IAChB,WAAW,SAAoC;IAC/C,KAAK,SAAkD;IAEvD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CA2C9C;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,QAAQ;IACxC,IAAI,SAAU;IACd,WAAW,SAA4B;IACvC,KAAK,SAAgD;IAE/C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA8B7D;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IAC9C,IAAI,SAAiB;IACrB,WAAW,SAAyB;IACpC,KAAK,SAAyB;IAE9B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAiB9C;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,QAAQ;IAC/C,IAAI,SAAkB;IACtB,WAAW,SAA0B;IACrC,KAAK,SAAmB;IAExB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAY/C;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IAC9C,IAAI,SAAiB;IACrB,WAAW,SAA4C;IACvD,KAAK,SAAkB;IAEvB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAuB/C"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Export and clipboard commands for Advanced Logger CLI
|
|
3
|
+
*/
|
|
4
|
+
import { EXPORT_FORMATS } from '../../constants.js';
|
|
5
|
+
/**
|
|
6
|
+
* Parse command line arguments into filters and options
|
|
7
|
+
*/
|
|
8
|
+
function parseArguments(args) {
|
|
9
|
+
const filters = {};
|
|
10
|
+
const options = {};
|
|
11
|
+
let format;
|
|
12
|
+
if (!args.trim())
|
|
13
|
+
return { filters, options };
|
|
14
|
+
// Split args by spaces, but keep quoted strings together
|
|
15
|
+
const argParts = args.match(/(?:[^\s"]+|"[^"]*")+/g) || [];
|
|
16
|
+
for (let i = 0; i < argParts.length; i++) {
|
|
17
|
+
const arg = argParts[i];
|
|
18
|
+
// Skip if arg is null/undefined
|
|
19
|
+
if (!arg) {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
// Format (first argument without --)
|
|
23
|
+
if (i === 0 && !arg.startsWith('--') && arg in EXPORT_FORMATS) {
|
|
24
|
+
format = arg;
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
// Parse --flags
|
|
28
|
+
if (arg.startsWith('--')) {
|
|
29
|
+
const [flag, value] = arg.slice(2).split('=');
|
|
30
|
+
switch (flag) {
|
|
31
|
+
case 'level':
|
|
32
|
+
case 'levels':
|
|
33
|
+
if (value) {
|
|
34
|
+
filters.levels = value.split(',').map(l => l.trim());
|
|
35
|
+
}
|
|
36
|
+
break;
|
|
37
|
+
case 'since':
|
|
38
|
+
if (value)
|
|
39
|
+
filters.since = value;
|
|
40
|
+
break;
|
|
41
|
+
case 'until':
|
|
42
|
+
if (value)
|
|
43
|
+
filters.until = value;
|
|
44
|
+
break;
|
|
45
|
+
case 'prefix':
|
|
46
|
+
case 'prefixes':
|
|
47
|
+
if (value) {
|
|
48
|
+
filters.prefixes = value.split(',').map(p => p.trim());
|
|
49
|
+
}
|
|
50
|
+
break;
|
|
51
|
+
case 'exclude-prefix':
|
|
52
|
+
case 'exclude-prefixes':
|
|
53
|
+
if (value) {
|
|
54
|
+
filters.excludePrefixes = value.split(',').map(p => p.trim());
|
|
55
|
+
}
|
|
56
|
+
break;
|
|
57
|
+
case 'last':
|
|
58
|
+
if (value)
|
|
59
|
+
filters.last = parseInt(value, 10);
|
|
60
|
+
break;
|
|
61
|
+
case 'first':
|
|
62
|
+
if (value)
|
|
63
|
+
filters.first = parseInt(value, 10);
|
|
64
|
+
break;
|
|
65
|
+
case 'search':
|
|
66
|
+
if (value)
|
|
67
|
+
filters.search = value.replace(/['"]/g, '');
|
|
68
|
+
break;
|
|
69
|
+
case 'with-stack':
|
|
70
|
+
filters.withStackTrace = true;
|
|
71
|
+
break;
|
|
72
|
+
case 'errors-only':
|
|
73
|
+
filters.errorsOnly = true;
|
|
74
|
+
break;
|
|
75
|
+
case 'group-by':
|
|
76
|
+
if (value) {
|
|
77
|
+
filters.groupBy = value;
|
|
78
|
+
options.groupBy = value;
|
|
79
|
+
}
|
|
80
|
+
break;
|
|
81
|
+
case 'minimal':
|
|
82
|
+
options.minimal = true;
|
|
83
|
+
break;
|
|
84
|
+
case 'compact':
|
|
85
|
+
options.compact = true;
|
|
86
|
+
break;
|
|
87
|
+
case 'styled':
|
|
88
|
+
options.styled = true;
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return { filters, options, format };
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Export command - export logs in various formats
|
|
97
|
+
*/
|
|
98
|
+
export class ExportCommand {
|
|
99
|
+
name = 'export';
|
|
100
|
+
description = 'Export logs to various formats';
|
|
101
|
+
usage = '/export <format> [--filter=value] [--option]';
|
|
102
|
+
execute(args, logger) {
|
|
103
|
+
const exportHandler = logger.getExportHandler();
|
|
104
|
+
if (!exportHandler) {
|
|
105
|
+
logger.error('Export handler not available. Make sure ExportLogHandler is registered.');
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const { filters, options, format } = parseArguments(args);
|
|
109
|
+
if (!format) {
|
|
110
|
+
logger.error('Format required. Available formats: ' + Object.keys(EXPORT_FORMATS).join(', '));
|
|
111
|
+
logger.info('Usage: /export <format> [--filter=value]');
|
|
112
|
+
logger.info('Example: /export json --level=error,warn --last=50');
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
try {
|
|
116
|
+
const result = exportHandler.export(format, filters, options);
|
|
117
|
+
// Log success with metadata
|
|
118
|
+
logger.success(`✅ Export completed: ${result.metadata.filteredLogs} logs exported in ${format} format`);
|
|
119
|
+
// Show preview for small exports
|
|
120
|
+
if (result.data.length < 1000) {
|
|
121
|
+
logger.group(`📄 Preview (${format.toUpperCase()})`);
|
|
122
|
+
console.log(result.data);
|
|
123
|
+
logger.groupEnd();
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
logger.info(`📄 Export size: ${(result.data.length / 1024).toFixed(2)}KB`);
|
|
127
|
+
}
|
|
128
|
+
// Show metadata
|
|
129
|
+
logger.table({
|
|
130
|
+
format: result.format,
|
|
131
|
+
totalLogs: result.metadata.totalLogs,
|
|
132
|
+
filtered: result.metadata.filteredLogs,
|
|
133
|
+
exported: result.metadata.exportedAt
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
logger.error('Export failed:', error);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Copy command - copy logs to clipboard
|
|
143
|
+
*/
|
|
144
|
+
export class CopyCommand {
|
|
145
|
+
name = 'copy';
|
|
146
|
+
description = 'Copy logs to clipboard';
|
|
147
|
+
usage = '/copy <format> [--filter=value] [--option]';
|
|
148
|
+
async execute(args, logger) {
|
|
149
|
+
const exportHandler = logger.getExportHandler();
|
|
150
|
+
if (!exportHandler) {
|
|
151
|
+
logger.error('Export handler not available. Make sure ExportLogHandler is registered.');
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const { filters, options, format } = parseArguments(args);
|
|
155
|
+
if (!format) {
|
|
156
|
+
logger.error('Format required. Available formats: ' + Object.keys(EXPORT_FORMATS).join(', '));
|
|
157
|
+
logger.info('Usage: /copy <format> [--filter=value]');
|
|
158
|
+
logger.info('Example: /copy plain --level=error --last=25');
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
try {
|
|
162
|
+
const success = await exportHandler.copyToClipboard(format, filters, options);
|
|
163
|
+
if (success) {
|
|
164
|
+
const result = exportHandler.export(format, filters, options);
|
|
165
|
+
logger.success(`📋 Copied ${result.metadata.filteredLogs} logs to clipboard (${format} format)`);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
logger.error('Failed to copy to clipboard. Browser may not support clipboard API.');
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
logger.error('Copy failed:', error);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Buffer-size command - configure buffer size
|
|
178
|
+
*/
|
|
179
|
+
export class BufferSizeCommand {
|
|
180
|
+
name = 'buffer-size';
|
|
181
|
+
description = 'Set log buffer size';
|
|
182
|
+
usage = '/buffer-size <size>';
|
|
183
|
+
execute(args, logger) {
|
|
184
|
+
const exportHandler = logger.getExportHandler();
|
|
185
|
+
if (!exportHandler) {
|
|
186
|
+
logger.error('Export handler not available.');
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
const size = parseInt(args.trim(), 10);
|
|
190
|
+
if (isNaN(size) || size <= 0) {
|
|
191
|
+
logger.error('Invalid buffer size. Must be a positive number.');
|
|
192
|
+
logger.info('Example: /buffer-size 2000');
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
exportHandler.setBufferSize(size);
|
|
196
|
+
logger.success(`Buffer size set to ${size}`);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Clear-buffer command - clear log buffer
|
|
201
|
+
*/
|
|
202
|
+
export class ClearBufferCommand {
|
|
203
|
+
name = 'clear-buffer';
|
|
204
|
+
description = 'Clear the log buffer';
|
|
205
|
+
usage = '/clear-buffer';
|
|
206
|
+
execute(_args, logger) {
|
|
207
|
+
const exportHandler = logger.getExportHandler();
|
|
208
|
+
if (!exportHandler) {
|
|
209
|
+
logger.error('Export handler not available.');
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
const stats = exportHandler.getBufferStats();
|
|
213
|
+
exportHandler.clearBuffer();
|
|
214
|
+
logger.success(`✅ Buffer cleared. Removed ${stats.size} log entries.`);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Buffer-info command - show buffer information
|
|
219
|
+
*/
|
|
220
|
+
export class BufferInfoCommand {
|
|
221
|
+
name = 'buffer-info';
|
|
222
|
+
description = 'Show buffer statistics and information';
|
|
223
|
+
usage = '/buffer-info';
|
|
224
|
+
execute(_args, logger) {
|
|
225
|
+
const exportHandler = logger.getExportHandler();
|
|
226
|
+
if (!exportHandler) {
|
|
227
|
+
logger.error('Export handler not available.');
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
const stats = exportHandler.getBufferStats();
|
|
231
|
+
logger.group('📊 Buffer Information');
|
|
232
|
+
logger.table({
|
|
233
|
+
size: `${stats.size}/${stats.maxSize}`,
|
|
234
|
+
usage: `${stats.usage.toFixed(1)}%`,
|
|
235
|
+
oldestLog: stats.oldestLog?.toLocaleString() || 'None',
|
|
236
|
+
newestLog: stats.newestLog?.toLocaleString() || 'None'
|
|
237
|
+
});
|
|
238
|
+
logger.group('📈 Log Level Counts');
|
|
239
|
+
logger.table(stats.levelCounts);
|
|
240
|
+
logger.groupEnd();
|
|
241
|
+
logger.groupEnd();
|
|
242
|
+
}
|
|
243
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview History management commands for CLI
|
|
3
|
+
*/
|
|
4
|
+
import type { ICommand } from '../CommandProcessor.js';
|
|
5
|
+
import type { Logger } from '../../Logger.js';
|
|
6
|
+
/**
|
|
7
|
+
* Show command history
|
|
8
|
+
*/
|
|
9
|
+
export declare class HistoryCommand implements ICommand {
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
usage: string;
|
|
13
|
+
category: string;
|
|
14
|
+
aliases: string[];
|
|
15
|
+
execute(args: string, logger: Logger): void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Clear command history
|
|
19
|
+
*/
|
|
20
|
+
export declare class ClearHistoryCommand implements ICommand {
|
|
21
|
+
name: string;
|
|
22
|
+
description: string;
|
|
23
|
+
usage: string;
|
|
24
|
+
category: string;
|
|
25
|
+
aliases: string[];
|
|
26
|
+
execute(args: string, logger: Logger): void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Interactive mode command
|
|
30
|
+
*/
|
|
31
|
+
export declare class InteractiveCommand implements ICommand {
|
|
32
|
+
name: string;
|
|
33
|
+
description: string;
|
|
34
|
+
usage: string;
|
|
35
|
+
category: string;
|
|
36
|
+
aliases: string[];
|
|
37
|
+
execute(args: string, logger: Logger): void;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Plugin management command
|
|
41
|
+
*/
|
|
42
|
+
export declare class PluginsCommand implements ICommand {
|
|
43
|
+
name: string;
|
|
44
|
+
description: string;
|
|
45
|
+
usage: string;
|
|
46
|
+
category: string;
|
|
47
|
+
aliases: string[];
|
|
48
|
+
execute(args: string, logger: Logger): void;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=HistoryCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HistoryCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/HistoryCommand.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;GAEG;AACH,qBAAa,cAAe,YAAW,QAAQ;IAC3C,IAAI,SAAa;IACjB,WAAW,SAAoC;IAC/C,KAAK,SAA2D;IAChE,QAAQ,SAAY;IACpB,OAAO,WAAiB;IAExB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAuB9C;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,QAAQ;IAChD,IAAI,SAAkB;IACtB,WAAW,SAAqC;IAChD,KAAK,SAAgD;IACrD,QAAQ,SAAY;IACpB,OAAO,WAAe;IAEtB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAU9C;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,QAAQ;IAC/C,IAAI,SAAiB;IACrB,WAAW,SAAgC;IAC3C,KAAK,SAAmD;IACxD,QAAQ,SAAY;IACpB,OAAO,WAAiB;IAExB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAS9C;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,QAAQ;IAC3C,IAAI,SAAa;IACjB,WAAW,SAA6B;IACxC,KAAK,SAA4C;IACjD,QAAQ,SAAY;IACpB,OAAO,WAAY;IAEnB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAqB9C"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview History management commands for CLI
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Show command history
|
|
6
|
+
*/
|
|
7
|
+
export class HistoryCommand {
|
|
8
|
+
name = 'history';
|
|
9
|
+
description = 'Show command execution history';
|
|
10
|
+
usage = '/history [limit] - Show recent commands (default: 10)';
|
|
11
|
+
category = 'system';
|
|
12
|
+
aliases = ['hist', 'h'];
|
|
13
|
+
execute(args, logger) {
|
|
14
|
+
const processor = logger.cliProcessor;
|
|
15
|
+
if (!processor) {
|
|
16
|
+
logger.error('CLI processor not available');
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const limit = parseInt(args) || 10;
|
|
20
|
+
const history = processor.getHistory().slice(0, limit);
|
|
21
|
+
if (history.length === 0) {
|
|
22
|
+
logger.info('📝 No command history available');
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
logger.info(`📋 Last ${history.length} commands:`);
|
|
26
|
+
history.forEach((entry, index) => {
|
|
27
|
+
const status = entry.success ? '✅' : '❌';
|
|
28
|
+
const time = entry.timestamp.toLocaleTimeString();
|
|
29
|
+
logger.info(`${status} [${time}] ${entry.command}`);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Clear command history
|
|
35
|
+
*/
|
|
36
|
+
export class ClearHistoryCommand {
|
|
37
|
+
name = 'clearhistory';
|
|
38
|
+
description = 'Clear command execution history';
|
|
39
|
+
usage = '/clearhistory - Remove all command history';
|
|
40
|
+
category = 'system';
|
|
41
|
+
aliases = ['clrhist'];
|
|
42
|
+
execute(args, logger) {
|
|
43
|
+
const processor = logger.cliProcessor;
|
|
44
|
+
if (!processor) {
|
|
45
|
+
logger.error('CLI processor not available');
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
processor.clearHistory();
|
|
49
|
+
logger.success('🗑️ Command history cleared');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Interactive mode command
|
|
54
|
+
*/
|
|
55
|
+
export class InteractiveCommand {
|
|
56
|
+
name = 'interactive';
|
|
57
|
+
description = 'Enter interactive CLI mode';
|
|
58
|
+
usage = '/interactive - Start interactive command mode';
|
|
59
|
+
category = 'system';
|
|
60
|
+
aliases = ['i', 'repl'];
|
|
61
|
+
execute(args, logger) {
|
|
62
|
+
const processor = logger.cliProcessor;
|
|
63
|
+
if (!processor) {
|
|
64
|
+
logger.error('CLI processor not available');
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
processor.enterInteractiveMode(logger);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Plugin management command
|
|
72
|
+
*/
|
|
73
|
+
export class PluginsCommand {
|
|
74
|
+
name = 'plugins';
|
|
75
|
+
description = 'List loaded CLI plugins';
|
|
76
|
+
usage = '/plugins - Show all registered plugins';
|
|
77
|
+
category = 'system';
|
|
78
|
+
aliases = ['plug'];
|
|
79
|
+
execute(args, logger) {
|
|
80
|
+
const processor = logger.cliProcessor;
|
|
81
|
+
if (!processor) {
|
|
82
|
+
logger.error('CLI processor not available');
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
const plugins = processor.getPlugins();
|
|
86
|
+
if (plugins.length === 0) {
|
|
87
|
+
logger.info('🔌 No plugins registered');
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
logger.info(`🔌 Loaded plugins (${plugins.length}):`);
|
|
91
|
+
plugins.forEach((plugin) => {
|
|
92
|
+
logger.info(` 📦 ${plugin.name} v${plugin.version} - ${plugin.description}`);
|
|
93
|
+
logger.info(` Commands: ${plugin.commands.map((c) => c.name).join(', ')}`);
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Status and demo commands for Advanced Logger CLI
|
|
3
|
+
*/
|
|
4
|
+
import type { ICommand } from '../CommandProcessor.js';
|
|
5
|
+
import type { Logger } from '../../Logger.js';
|
|
6
|
+
/**
|
|
7
|
+
* Status command - show logger configuration and statistics
|
|
8
|
+
*/
|
|
9
|
+
export declare class StatusCommand implements ICommand {
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
usage: string;
|
|
13
|
+
execute(_args: string, logger: Logger): void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Reset command - reset logger to defaults
|
|
17
|
+
*/
|
|
18
|
+
export declare class ResetCommand implements ICommand {
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
usage: string;
|
|
22
|
+
execute(_args: string, logger: Logger): void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Demo command - show logger feature demonstration
|
|
26
|
+
*/
|
|
27
|
+
export declare class DemoCommand implements ICommand {
|
|
28
|
+
name: string;
|
|
29
|
+
description: string;
|
|
30
|
+
usage: string;
|
|
31
|
+
execute(_args: string, logger: Logger): void;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=StatusCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/StatusCommand.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;GAEG;AACH,qBAAa,aAAc,YAAW,QAAQ;IAC1C,IAAI,SAAY;IAChB,WAAW,SAAkD;IAC7D,KAAK,SAAa;IAElB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAkC/C;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,QAAQ;IACzC,IAAI,SAAW;IACf,WAAW,SAA4C;IACvD,KAAK,SAAY;IAEjB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAG/C;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,QAAQ;IACxC,IAAI,SAAU;IACd,WAAW,SAA8C;IACzD,KAAK,SAAW;IAEhB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAuC/C"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Status and demo commands for Advanced Logger CLI
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Status command - show logger configuration and statistics
|
|
6
|
+
*/
|
|
7
|
+
export class StatusCommand {
|
|
8
|
+
name = 'status';
|
|
9
|
+
description = 'Show current logger status and configuration';
|
|
10
|
+
usage = '/status';
|
|
11
|
+
execute(_args, logger) {
|
|
12
|
+
const config = logger.getConfig();
|
|
13
|
+
const statusData = {
|
|
14
|
+
theme: config.theme ? config.theme : 'default',
|
|
15
|
+
verbosity: config.verbosity,
|
|
16
|
+
colors: config.enableColors,
|
|
17
|
+
timestamps: config.enableTimestamps,
|
|
18
|
+
stackTrace: config.enableStackTrace,
|
|
19
|
+
globalPrefix: config.globalPrefix ? config.globalPrefix : 'none',
|
|
20
|
+
bannerType: config.bannerType ? config.bannerType : 'simple',
|
|
21
|
+
handlers: logger.getHandlers().length,
|
|
22
|
+
bufferSize: config.bufferSize ? config.bufferSize : 1000
|
|
23
|
+
};
|
|
24
|
+
logger.group('⚙️ Logger Configuration');
|
|
25
|
+
logger.table(statusData);
|
|
26
|
+
logger.groupEnd();
|
|
27
|
+
// Show buffer stats if ExportLogHandler is present
|
|
28
|
+
const exportHandler = logger.getExportHandler();
|
|
29
|
+
if (exportHandler) {
|
|
30
|
+
const bufferStats = exportHandler.getBufferStats();
|
|
31
|
+
logger.group('📊 Buffer Statistics');
|
|
32
|
+
logger.table({
|
|
33
|
+
size: `${bufferStats.size}/${bufferStats.maxSize}`,
|
|
34
|
+
usage: `${bufferStats.usage.toFixed(1)}%`,
|
|
35
|
+
oldestLog: bufferStats.oldestLog ? bufferStats.oldestLog.toISOString() : 'None',
|
|
36
|
+
newestLog: bufferStats.newestLog ? bufferStats.newestLog.toISOString() : 'None',
|
|
37
|
+
errorCount: bufferStats.levelCounts.error + bufferStats.levelCounts.critical,
|
|
38
|
+
warningCount: bufferStats.levelCounts.warn
|
|
39
|
+
});
|
|
40
|
+
logger.groupEnd();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Reset command - reset logger to defaults
|
|
46
|
+
*/
|
|
47
|
+
export class ResetCommand {
|
|
48
|
+
name = 'reset';
|
|
49
|
+
description = 'Reset logger configuration to defaults';
|
|
50
|
+
usage = '/reset';
|
|
51
|
+
execute(_args, logger) {
|
|
52
|
+
logger.resetConfig();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Demo command - show logger feature demonstration
|
|
57
|
+
*/
|
|
58
|
+
export class DemoCommand {
|
|
59
|
+
name = 'demo';
|
|
60
|
+
description = 'Show comprehensive feature demonstration';
|
|
61
|
+
usage = '/demo';
|
|
62
|
+
execute(_args, logger) {
|
|
63
|
+
logger.group('🎪 Advanced Logger Demo');
|
|
64
|
+
// Basic logging demo
|
|
65
|
+
logger.debug('Debug message with detailed information');
|
|
66
|
+
logger.info('Informational message about system state');
|
|
67
|
+
logger.warn('Warning about deprecated feature');
|
|
68
|
+
logger.error('Error processing user request');
|
|
69
|
+
logger.success('Operation completed successfully');
|
|
70
|
+
logger.critical('Critical system failure detected');
|
|
71
|
+
// Advanced features demo
|
|
72
|
+
logger.group('📊 Advanced Features Demo');
|
|
73
|
+
// Table demo
|
|
74
|
+
logger.table([
|
|
75
|
+
{ feature: 'Styled Console', status: '✅ Active', performance: 'Excellent' },
|
|
76
|
+
{ feature: 'Theme System', status: '✅ Active', performance: 'Great' },
|
|
77
|
+
{ feature: 'CLI Interface', status: '✅ Active', performance: 'Good' },
|
|
78
|
+
{ feature: 'Export System', status: '✅ Active', performance: 'Excellent' }
|
|
79
|
+
]);
|
|
80
|
+
// Timer demo
|
|
81
|
+
logger.time('demo-operation');
|
|
82
|
+
setTimeout(() => {
|
|
83
|
+
logger.timeEnd('demo-operation');
|
|
84
|
+
}, 100);
|
|
85
|
+
// SVG demo
|
|
86
|
+
logger.logWithSVG('SVG Demo');
|
|
87
|
+
// Animated demo
|
|
88
|
+
logger.logAnimated('🌟 Animated Logger Demo 🌟', 2);
|
|
89
|
+
logger.groupEnd();
|
|
90
|
+
logger.groupEnd();
|
|
91
|
+
logger.info('Demo completed! Check the console for styled output.');
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Theme and banner commands for Advanced Logger CLI
|
|
3
|
+
*/
|
|
4
|
+
import type { ICommand } from '../CommandProcessor.js';
|
|
5
|
+
import type { Logger } from '../../Logger.js';
|
|
6
|
+
/**
|
|
7
|
+
* Themes command - show available themes
|
|
8
|
+
*/
|
|
9
|
+
export declare class ThemesCommand implements ICommand {
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
usage: string;
|
|
13
|
+
execute(_args: string, logger: Logger): void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Banners command - show available banner types
|
|
17
|
+
*/
|
|
18
|
+
export declare class BannersCommand implements ICommand {
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
usage: string;
|
|
22
|
+
execute(_args: string, logger: Logger): void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Banner command - change/show banner type
|
|
26
|
+
*/
|
|
27
|
+
export declare class BannerCommand implements ICommand {
|
|
28
|
+
name: string;
|
|
29
|
+
description: string;
|
|
30
|
+
usage: string;
|
|
31
|
+
execute(args: string, logger: Logger): void;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=ThemeCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ThemeCommand.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAK9C;;GAEG;AACH,qBAAa,aAAc,YAAW,QAAQ;IAC1C,IAAI,SAAY;IAChB,WAAW,SAAkC;IAC7C,KAAK,SAAa;IAElB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAgB/C;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,QAAQ;IAC3C,IAAI,SAAa;IACjB,WAAW,SAAiC;IAC5C,KAAK,SAAc;IAEnB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAoB/C;AAED;;GAEG;AACH,qBAAa,aAAc,YAAW,QAAQ;IAC1C,IAAI,SAAY;IAChB,WAAW,SAAwC;IACnD,KAAK,SAAoB;IAEzB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAa9C"}
|