@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.
Files changed (326) hide show
  1. package/.claude/settings.local.json +18 -2
  2. package/.github/workflows/ci-quality.yml +357 -0
  3. package/.github/workflows/docs-demo.yml +119 -0
  4. package/.github/workflows/releases-core.yml +512 -0
  5. package/.github/workflows/releases-full.yml +582 -0
  6. package/.github/{workflows → workflows-backup}/ci.yml +12 -110
  7. package/.github/workflows-backup/nightly.yml +196 -0
  8. package/.github/workflows-backup/release-optimized.yml +373 -0
  9. package/.release-notes-0.2.0.md +129 -0
  10. package/.yamllint +28 -0
  11. package/CHANGELOG.json +783 -0
  12. package/CLAUDE.md +92 -1
  13. package/README.md +198 -490
  14. package/bun.lock +323 -0
  15. package/demo.html +9 -2
  16. package/dist/.tsbuildinfo +1 -0
  17. package/dist/Logger.d.ts +272 -0
  18. package/dist/Logger.d.ts.map +1 -0
  19. package/dist/Logger.js +680 -0
  20. package/dist/ScopedLogger.d.ts +126 -0
  21. package/dist/ScopedLogger.d.ts.map +1 -0
  22. package/dist/ScopedLogger.js +234 -0
  23. package/dist/chunks/Logger-BpeuYIxR.js +2 -0
  24. package/dist/chunks/Logger-BpeuYIxR.js.map +1 -0
  25. package/dist/chunks/Logger-Didxtr23.js +3275 -0
  26. package/dist/chunks/Logger-Didxtr23.js.map +1 -0
  27. package/dist/chunks/RemoteLogHandler-CjWpWZGl.js +33 -0
  28. package/dist/chunks/RemoteLogHandler-CjWpWZGl.js.map +1 -0
  29. package/dist/chunks/RemoteLogHandler-ymkQ97xl.js +2 -0
  30. package/dist/chunks/RemoteLogHandler-ymkQ97xl.js.map +1 -0
  31. package/dist/chunks/environment-Bxbnw4pd.js +544 -0
  32. package/dist/chunks/environment-Bxbnw4pd.js.map +1 -0
  33. package/dist/chunks/environment-Dm66zOML.js +4 -0
  34. package/dist/chunks/environment-Dm66zOML.js.map +1 -0
  35. package/dist/chunks/formatting-C0riPC5_.js +95 -0
  36. package/dist/chunks/formatting-C0riPC5_.js.map +1 -0
  37. package/dist/chunks/formatting-DNCAV66-.js +2 -0
  38. package/dist/chunks/formatting-DNCAV66-.js.map +1 -0
  39. package/dist/cli/CommandProcessor.d.ts +103 -0
  40. package/dist/cli/CommandProcessor.d.ts.map +1 -0
  41. package/dist/cli/CommandProcessor.js +184 -0
  42. package/dist/cli/commands/ConfigCommand.d.ts +17 -0
  43. package/dist/cli/commands/ConfigCommand.d.ts.map +1 -0
  44. package/dist/cli/commands/ConfigCommand.js +88 -0
  45. package/dist/cli/commands/ExportCommand.d.ts +51 -0
  46. package/dist/cli/commands/ExportCommand.d.ts.map +1 -0
  47. package/dist/cli/commands/ExportCommand.js +243 -0
  48. package/dist/cli/commands/HistoryCommand.d.ts +50 -0
  49. package/dist/cli/commands/HistoryCommand.d.ts.map +1 -0
  50. package/dist/cli/commands/HistoryCommand.js +96 -0
  51. package/dist/cli/commands/StatusCommand.d.ts +33 -0
  52. package/dist/cli/commands/StatusCommand.d.ts.map +1 -0
  53. package/dist/cli/commands/StatusCommand.js +93 -0
  54. package/dist/cli/commands/ThemeCommand.d.ts +33 -0
  55. package/dist/cli/commands/ThemeCommand.d.ts.map +1 -0
  56. package/dist/cli/commands/ThemeCommand.js +79 -0
  57. package/dist/cli/help.d.ts +15 -0
  58. package/dist/cli/help.d.ts.map +1 -0
  59. package/dist/cli/help.js +118 -0
  60. package/dist/cli/index.d.ts +15 -0
  61. package/dist/cli/index.d.ts.map +1 -0
  62. package/dist/cli/index.js +46 -0
  63. package/dist/constants.d.ts +122 -0
  64. package/dist/constants.d.ts.map +1 -0
  65. package/dist/constants.js +159 -0
  66. package/dist/core.cjs +1 -1
  67. package/dist/core.cjs.map +1 -1
  68. package/dist/core.d.ts +134 -0
  69. package/dist/core.d.ts.map +1 -0
  70. package/dist/core.js +315 -242
  71. package/dist/core.js.map +1 -1
  72. package/dist/example.d.ts +18 -0
  73. package/dist/example.d.ts.map +1 -0
  74. package/dist/example.js +154 -0
  75. package/dist/exports-module.d.ts +203 -0
  76. package/dist/exports-module.d.ts.map +1 -0
  77. package/dist/exports-module.js +260 -0
  78. package/dist/exports.cjs +1 -1
  79. package/dist/exports.cjs.map +1 -1
  80. package/dist/exports.js +5 -4
  81. package/dist/exports.js.map +1 -1
  82. package/dist/handlers/AnalyticsLogHandler.d.ts +11 -0
  83. package/dist/handlers/AnalyticsLogHandler.d.ts.map +1 -0
  84. package/dist/handlers/AnalyticsLogHandler.js +19 -0
  85. package/dist/handlers/ExportLogHandler.d.ts +103 -0
  86. package/dist/handlers/ExportLogHandler.d.ts.map +1 -0
  87. package/dist/handlers/ExportLogHandler.js +516 -0
  88. package/dist/handlers/FileLogHandler.d.ts +36 -0
  89. package/dist/handlers/FileLogHandler.d.ts.map +1 -0
  90. package/dist/handlers/FileLogHandler.js +156 -0
  91. package/dist/handlers/RemoteLogHandler.d.ts +14 -0
  92. package/dist/handlers/RemoteLogHandler.d.ts.map +1 -0
  93. package/dist/handlers/RemoteLogHandler.js +37 -0
  94. package/dist/handlers/index.d.ts +8 -0
  95. package/dist/handlers/index.d.ts.map +1 -0
  96. package/dist/handlers/index.js +7 -0
  97. package/dist/index.cjs +1 -1
  98. package/dist/index.cjs.map +1 -1
  99. package/dist/index.d.ts +86 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +89 -103
  102. package/dist/index.js.map +1 -1
  103. package/dist/main.d.ts +2 -0
  104. package/dist/main.d.ts.map +1 -0
  105. package/dist/main.js +139 -0
  106. package/dist/styling/LogStyleBuilder.d.ts +149 -0
  107. package/dist/styling/LogStyleBuilder.d.ts.map +1 -0
  108. package/dist/styling/LogStyleBuilder.js +289 -0
  109. package/dist/styling/SemanticStyles.d.ts +181 -0
  110. package/dist/styling/SemanticStyles.d.ts.map +1 -0
  111. package/dist/styling/SemanticStyles.js +339 -0
  112. package/dist/styling/SmartPresets.d.ts +25 -0
  113. package/dist/styling/SmartPresets.d.ts.map +1 -0
  114. package/dist/styling/SmartPresets.js +276 -0
  115. package/dist/styling/StyleBuilder.d.ts +140 -0
  116. package/dist/styling/StyleBuilder.d.ts.map +1 -0
  117. package/dist/styling/StyleBuilder.js +280 -0
  118. package/dist/styling/banners.d.ts +45 -0
  119. package/dist/styling/banners.d.ts.map +1 -0
  120. package/dist/styling/banners.js +155 -0
  121. package/dist/styling/index.d.ts +10 -0
  122. package/dist/styling/index.d.ts.map +1 -0
  123. package/dist/styling/index.js +9 -0
  124. package/dist/styling/themes.d.ts +10 -0
  125. package/dist/styling/themes.d.ts.map +1 -0
  126. package/dist/styling/themes.js +231 -0
  127. package/dist/styling-module.d.ts +185 -0
  128. package/dist/styling-module.d.ts.map +1 -0
  129. package/dist/styling-module.js +199 -0
  130. package/dist/styling.cjs +1 -1
  131. package/dist/styling.cjs.map +1 -1
  132. package/dist/styling.js +6 -6
  133. package/dist/styling.js.map +1 -1
  134. package/dist/types/Logger.d.ts +268 -0
  135. package/dist/types/Logger.d.ts.map +1 -0
  136. package/dist/types/ScopedLogger.d.ts +123 -0
  137. package/dist/types/ScopedLogger.d.ts.map +1 -0
  138. package/dist/types/cli/CommandProcessor.d.ts +100 -0
  139. package/dist/types/cli/CommandProcessor.d.ts.map +1 -0
  140. package/dist/types/cli/commands/ConfigCommand.d.ts +14 -0
  141. package/dist/types/cli/commands/ConfigCommand.d.ts.map +1 -0
  142. package/dist/types/cli/commands/ExportCommand.d.ts +48 -0
  143. package/dist/types/cli/commands/ExportCommand.d.ts.map +1 -0
  144. package/dist/types/cli/commands/HistoryCommand.d.ts +47 -0
  145. package/dist/types/cli/commands/HistoryCommand.d.ts.map +1 -0
  146. package/dist/types/cli/commands/StatusCommand.d.ts +30 -0
  147. package/dist/types/cli/commands/StatusCommand.d.ts.map +1 -0
  148. package/dist/types/cli/commands/ThemeCommand.d.ts +30 -0
  149. package/dist/types/cli/commands/ThemeCommand.d.ts.map +1 -0
  150. package/dist/types/cli/help.d.ts +12 -0
  151. package/dist/types/cli/help.d.ts.map +1 -0
  152. package/dist/types/cli/index.d.ts +15 -0
  153. package/dist/types/cli/index.d.ts.map +1 -0
  154. package/dist/types/constants.d.ts +119 -0
  155. package/dist/types/constants.d.ts.map +1 -0
  156. package/dist/types/core.d.ts +125 -211
  157. package/dist/types/core.d.ts.map +1 -0
  158. package/dist/types/core.js +13 -0
  159. package/dist/types/example.d.ts +18 -0
  160. package/dist/types/example.d.ts.map +1 -0
  161. package/dist/types/exports-module.d.ts +196 -0
  162. package/dist/types/exports-module.d.ts.map +1 -0
  163. package/dist/types/handlers/AnalyticsLogHandler.d.ts +8 -0
  164. package/dist/types/handlers/AnalyticsLogHandler.d.ts.map +1 -0
  165. package/dist/types/handlers/ExportLogHandler.d.ts +100 -0
  166. package/dist/types/handlers/ExportLogHandler.d.ts.map +1 -0
  167. package/dist/types/handlers/FileLogHandler.d.ts +33 -0
  168. package/dist/types/handlers/FileLogHandler.d.ts.map +1 -0
  169. package/dist/types/handlers/RemoteLogHandler.d.ts +11 -0
  170. package/dist/types/handlers/RemoteLogHandler.d.ts.map +1 -0
  171. package/dist/types/handlers/index.d.ts +8 -0
  172. package/dist/types/handlers/index.d.ts.map +1 -0
  173. package/dist/types/handlers.d.ts +88 -0
  174. package/dist/types/handlers.d.ts.map +1 -0
  175. package/dist/types/handlers.js +4 -0
  176. package/dist/types/index.d.ts +7 -675
  177. package/dist/types/index.d.ts.map +1 -0
  178. package/dist/types/index.js +4 -0
  179. package/dist/types/main.d.ts +2 -0
  180. package/dist/types/main.d.ts.map +1 -0
  181. package/dist/types/styling/LogStyleBuilder.d.ts +146 -0
  182. package/dist/types/styling/LogStyleBuilder.d.ts.map +1 -0
  183. package/dist/types/styling/SemanticStyles.d.ts +178 -0
  184. package/dist/types/styling/SemanticStyles.d.ts.map +1 -0
  185. package/dist/types/styling/SmartPresets.d.ts +22 -0
  186. package/dist/types/styling/SmartPresets.d.ts.map +1 -0
  187. package/dist/types/styling/StyleBuilder.d.ts +140 -0
  188. package/dist/types/styling/StyleBuilder.d.ts.map +1 -0
  189. package/dist/types/styling/banners.d.ts +42 -0
  190. package/dist/types/styling/banners.d.ts.map +1 -0
  191. package/dist/types/styling/index.d.ts +10 -0
  192. package/dist/types/styling/index.d.ts.map +1 -0
  193. package/dist/types/styling/themes.d.ts +7 -0
  194. package/dist/types/styling/themes.d.ts.map +1 -0
  195. package/dist/types/styling-module.d.ts +178 -0
  196. package/dist/types/styling-module.d.ts.map +1 -0
  197. package/dist/types/types/core.d.ts +125 -0
  198. package/dist/types/types/core.d.ts.map +1 -0
  199. package/dist/types/types/handlers.d.ts +85 -0
  200. package/dist/types/types/handlers.d.ts.map +1 -0
  201. package/dist/types/types/index.d.ts +7 -0
  202. package/dist/types/types/index.d.ts.map +1 -0
  203. package/dist/types/utils/environment.d.ts +47 -0
  204. package/dist/types/utils/environment.d.ts.map +1 -0
  205. package/dist/types/utils/formatting.d.ts +37 -0
  206. package/dist/types/utils/formatting.d.ts.map +1 -0
  207. package/dist/types/utils/index.d.ts +7 -0
  208. package/dist/types/utils/index.d.ts.map +1 -0
  209. package/dist/types/utils/opentui-detection.d.ts +34 -0
  210. package/dist/types/utils/opentui-detection.d.ts.map +1 -0
  211. package/dist/types/utils/output.d.ts +41 -0
  212. package/dist/types/utils/output.d.ts.map +1 -0
  213. package/dist/types/utils/stackTrace.d.ts +6 -0
  214. package/dist/types/utils/stackTrace.d.ts.map +1 -0
  215. package/dist/types/utils/timestamps.d.ts +20 -0
  216. package/dist/types/utils/timestamps.d.ts.map +1 -0
  217. package/dist/utils/environment.d.ts +47 -0
  218. package/dist/utils/environment.d.ts.map +1 -0
  219. package/dist/utils/environment.js +85 -0
  220. package/dist/utils/formatting.d.ts +40 -0
  221. package/dist/utils/formatting.d.ts.map +1 -0
  222. package/dist/utils/formatting.js +117 -0
  223. package/dist/utils/index.d.ts +7 -0
  224. package/dist/utils/index.d.ts.map +1 -0
  225. package/dist/utils/index.js +6 -0
  226. package/dist/utils/opentui-detection.d.ts +34 -0
  227. package/dist/utils/opentui-detection.d.ts.map +1 -0
  228. package/dist/utils/opentui-detection.js +116 -0
  229. package/dist/utils/output.d.ts +44 -0
  230. package/dist/utils/output.d.ts.map +1 -0
  231. package/dist/utils/output.js +150 -0
  232. package/dist/utils/stackTrace.d.ts +9 -0
  233. package/dist/utils/stackTrace.d.ts.map +1 -0
  234. package/dist/utils/stackTrace.js +81 -0
  235. package/dist/utils/timestamps.d.ts +20 -0
  236. package/dist/utils/timestamps.d.ts.map +1 -0
  237. package/dist/utils/timestamps.js +71 -0
  238. package/docs/API.md +691 -0
  239. package/docs/CORE.md +10 -10
  240. package/docs/DEVELOPMENT.md +731 -0
  241. package/docs/PACKAGES.md +244 -0
  242. package/docs/_config.yml +36 -0
  243. package/docs/index.md +179 -0
  244. package/examples/README.md +208 -0
  245. package/examples/basic-logging.js +75 -0
  246. package/examples/data-export.js +234 -0
  247. package/examples/package.json +16 -0
  248. package/examples/performance-timing.js +170 -0
  249. package/examples/simplified-api.js +124 -0
  250. package/examples/styling-themes.js +207 -0
  251. package/package.json +37 -21
  252. package/packages/core/package.json +57 -0
  253. package/packages/exports/package.json +41 -0
  254. package/packages/nodejs-opentui/README.md +232 -0
  255. package/packages/nodejs-opentui/package.json +72 -0
  256. package/packages/nodejs-opentui/src/LogRenderer.ts +171 -0
  257. package/packages/nodejs-opentui/src/OpenTUILogHandler.ts +178 -0
  258. package/packages/nodejs-opentui/src/components/LogBadge.tsx +131 -0
  259. package/packages/nodejs-opentui/src/index.ts +133 -0
  260. package/packages/nodejs-opentui/src/types.ts +158 -0
  261. package/packages/nodejs-opentui/tsconfig.json +20 -0
  262. package/packages/styling/package.json +41 -0
  263. package/project-utils/README.md +172 -0
  264. package/project-utils/auto-release-gemini.ts +1193 -0
  265. package/project-utils/auto-release-ui.ts +1329 -0
  266. package/project-utils/commit-generator.ts +1385 -0
  267. package/project-utils/commit-ui.ts +264 -0
  268. package/project-utils/git-utils.ts +199 -0
  269. package/project-utils/github-release-manager.ts +466 -0
  270. package/project-utils/project-config.ts +260 -0
  271. package/project-utils/prompt-templates.js +345 -0
  272. package/project-utils/prompt-templates.ts +422 -0
  273. package/project-utils/version-manager.ts +1078 -0
  274. package/src/Logger.ts +251 -16
  275. package/src/ScopedLogger.ts +262 -0
  276. package/src/cli/CommandProcessor.ts +173 -2
  277. package/src/cli/commands/HistoryCommand.ts +117 -0
  278. package/src/cli/index.ts +12 -0
  279. package/src/constants.ts +84 -2
  280. package/src/core.ts +119 -46
  281. package/src/example.ts +4 -4
  282. package/src/exports-module.ts +1 -1
  283. package/src/handlers/ExportLogHandler.ts +141 -0
  284. package/src/handlers/FileLogHandler.ts +144 -5
  285. package/src/index.ts +1 -1
  286. package/src/main.ts +3 -3
  287. package/src/styling/LogStyleBuilder.ts +355 -0
  288. package/src/styling/SemanticStyles.ts +380 -0
  289. package/src/styling/SmartPresets.ts +288 -0
  290. package/src/styling/StyleBuilder.ts +14 -0
  291. package/src/styling/index.ts +16 -1
  292. package/src/styling-module.ts +1 -1
  293. package/src/types/core.ts +60 -0
  294. package/src/types/index.ts +6 -0
  295. package/src/utils/environment.ts +94 -0
  296. package/src/utils/formatting.ts +142 -0
  297. package/src/utils/index.ts +3 -0
  298. package/src/utils/opentui-detection.ts +138 -0
  299. package/src/utils/output.ts +66 -8
  300. package/test-core-browser.html +237 -0
  301. package/test-core-node.js +63 -0
  302. package/tests/test-conflict-resolution.ts +391 -0
  303. package/tests/validate-workflows.sh +131 -0
  304. package/tests/yaml-autofix.sh +146 -0
  305. package/vite.config.ts +189 -50
  306. package/.npmrc.bak +0 -1
  307. package/dist/chunks/Logger-BQhMKy_T.js +0 -2
  308. package/dist/chunks/Logger-BQhMKy_T.js.map +0 -1
  309. package/dist/chunks/Logger-BrFKFZcD.js +0 -978
  310. package/dist/chunks/Logger-BrFKFZcD.js.map +0 -1
  311. package/dist/chunks/core-2opW4Pi3.js +0 -194
  312. package/dist/chunks/core-2opW4Pi3.js.map +0 -1
  313. package/dist/chunks/core-DyugwSYZ.js +0 -4
  314. package/dist/chunks/core-DyugwSYZ.js.map +0 -1
  315. package/dist/chunks/exports-BNP3R7dp.js +0 -421
  316. package/dist/chunks/exports-BNP3R7dp.js.map +0 -1
  317. package/dist/chunks/exports-U1xLBXrY.js +0 -2
  318. package/dist/chunks/exports-U1xLBXrY.js.map +0 -1
  319. package/dist/chunks/styling-DhUDzwlE.js +0 -654
  320. package/dist/chunks/styling-DhUDzwlE.js.map +0 -1
  321. package/dist/chunks/styling-tmRDI28D.js +0 -2
  322. package/dist/chunks/styling-tmRDI28D.js.map +0 -1
  323. package/dist/types/exports.d.ts +0 -600
  324. package/dist/types/styling.d.ts +0 -751
  325. package/src/Logger.ts.backup +0 -1684
  326. /package/.github/{workflows → workflows-backup}/release.yml +0 -0
@@ -1,600 +0,0 @@
1
- export declare const addHandler: (handler: ILogHandler) => void;
2
-
3
- /**
4
- * Remote logging functionality
5
- */
6
- export declare const addRemoteHandler: (endpoint: string, apiKey?: string) => void;
7
-
8
- /**
9
- * Banner types for different visual approaches
10
- */
11
- declare type BannerType = 'simple' | 'ascii' | 'unicode' | 'svg' | 'animated';
12
-
13
- /**
14
- * Buffer statistics for log management
15
- */
16
- declare interface BufferStats {
17
- size: number;
18
- maxSize: number;
19
- usage: number;
20
- oldestLog?: Date;
21
- newestLog?: Date;
22
- levelCounts: Record<LogLevel, number>;
23
- }
24
-
25
- export declare const clearLogs: () => void;
26
-
27
- export declare const clearRemoteHandlers: () => void;
28
-
29
- export declare const createScopedLogger: (prefix: string) => Logger;
30
-
31
- export declare const critical: (...args: any[]) => void;
32
-
33
- /**
34
- * Export individual logging methods with export capabilities
35
- */
36
- export declare const debug: (...args: any[]) => void;
37
-
38
- export declare const error: (...args: any[]) => void;
39
-
40
- /**
41
- * Export filter options
42
- */
43
- declare interface ExportFilters {
44
- levels?: LogLevel[];
45
- since?: Date | string | number;
46
- until?: Date | string | number;
47
- prefixes?: string[];
48
- excludePrefixes?: string[];
49
- withStackTrace?: boolean;
50
- errorsOnly?: boolean;
51
- last?: number;
52
- first?: number;
53
- search?: string;
54
- groupBy?: 'level' | 'prefix' | 'hour' | 'date';
55
- }
56
-
57
- /**
58
- * Export formats for log data
59
- */
60
- declare type ExportFormat = 'json' | 'csv' | 'markdown' | 'plain' | 'html';
61
-
62
- /**
63
- * Logger with export and remote capabilities
64
- *
65
- * @example
66
- * ```typescript
67
- * import { ExportLogger } from '@mks2508/better-logger/exports';
68
- *
69
- * const logger = new ExportLogger({ bufferSize: 1000 });
70
- *
71
- * // Log some data
72
- * logger.info('User logged in', { userId: 123 });
73
- * logger.error('Failed to process', { error: 'timeout' });
74
- *
75
- * // Export logs
76
- * const csvData = await logger.exportLogs('csv');
77
- * const jsonData = await logger.exportLogs('json');
78
- *
79
- * // Setup remote logging
80
- * logger.addRemoteHandler('https://api.myapp.com/logs', 'api-key');
81
- * ```
82
- */
83
- export declare class ExportLogger extends Logger {
84
- private exportLogHandler?;
85
- private remoteHandlers;
86
- constructor(config?: {
87
- bufferSize?: number;
88
- } & any);
89
- /**
90
- * Export logs in specified format
91
- *
92
- * @param format - Export format (csv, json, xml)
93
- * @param options - Export options
94
- * @returns Promise resolving to exported data
95
- *
96
- * @example
97
- * ```typescript
98
- * const csvData = await logger.exportLogs('csv');
99
- * const jsonData = await logger.exportLogs('json', {
100
- * filter: { level: 'error' },
101
- * limit: 100
102
- * });
103
- * ```
104
- */
105
- exportLogs(format: 'csv' | 'json' | 'xml', options?: {
106
- filter?: {
107
- level?: LogLevel;
108
- from?: Date;
109
- to?: Date;
110
- };
111
- limit?: number;
112
- }): Promise<string>;
113
- /**
114
- * Get current log buffer
115
- *
116
- * @returns Array of log entries
117
- *
118
- * @example
119
- * ```typescript
120
- * const logs = logger.getLogs();
121
- * console.log(`Buffered ${logs.length} log entries`);
122
- * ```
123
- */
124
- getLogs(): any[];
125
- /**
126
- * Clear the log buffer
127
- *
128
- * @example
129
- * ```typescript
130
- * logger.clearLogs();
131
- * ```
132
- */
133
- clearLogs(): void;
134
- /**
135
- * Get log statistics
136
- *
137
- * @returns Statistics object with counts by level
138
- *
139
- * @example
140
- * ```typescript
141
- * const stats = logger.getLogStats();
142
- * console.log(`Errors: ${stats.error}, Warnings: ${stats.warn}`);
143
- * ```
144
- */
145
- getLogStats(): Record<string, number>;
146
- /**
147
- * Add remote logging handler
148
- *
149
- * @param endpoint - Remote endpoint URL
150
- * @param apiKey - Optional API key for authentication
151
- *
152
- * @example
153
- * ```typescript
154
- * logger.addRemoteHandler('https://logs.myservice.com/api', 'secret-key');
155
- * ```
156
- */
157
- addRemoteHandler(endpoint: string, apiKey?: string): void;
158
- /**
159
- * Remove all remote handlers
160
- *
161
- * @example
162
- * ```typescript
163
- * logger.clearRemoteHandlers();
164
- * ```
165
- */
166
- clearRemoteHandlers(): void;
167
- /**
168
- * Flush all remote handlers (force send pending logs)
169
- *
170
- * @example
171
- * ```typescript
172
- * await logger.flushRemoteHandlers();
173
- * ```
174
- */
175
- flushRemoteHandlers(): Promise<void>;
176
- }
177
-
178
- declare const exportLogger: ExportLogger;
179
- export default exportLogger;
180
-
181
- /**
182
- * Export log handler with circular buffer and multiple export formats
183
- */
184
- export declare class ExportLogHandler implements ILogHandler {
185
- private buffer;
186
- private maxSize;
187
- private groupDepth;
188
- private currentGroup?;
189
- constructor(maxSize?: number);
190
- /**
191
- * Handle incoming log and store in buffer
192
- */
193
- handle(level: LogLevel, message: string, args: any[], metadata: LogMetadata): void;
194
- /**
195
- * Set group tracking for nested logs
196
- */
197
- setGroupInfo(depth: number, groupName?: string): void;
198
- /**
199
- * Get buffer statistics
200
- */
201
- getBufferStats(): BufferStats;
202
- /**
203
- * Clear the buffer
204
- */
205
- clearBuffer(): void;
206
- /**
207
- * Set buffer size (with limits)
208
- */
209
- setBufferSize(size: number): void;
210
- /**
211
- * Filter logs based on criteria
212
- */
213
- private filterLogs;
214
- /**
215
- * Export logs in JSON format
216
- */
217
- private exportJSON;
218
- /**
219
- * Export logs in CSV format
220
- */
221
- private exportCSV;
222
- /**
223
- * Export logs in Markdown format
224
- */
225
- private exportMarkdown;
226
- /**
227
- * Export logs in plain text format
228
- */
229
- private exportPlain;
230
- /**
231
- * Export logs in HTML format
232
- */
233
- private exportHTML;
234
- /**
235
- * Get emoji for log level
236
- */
237
- private getLevelEmoji;
238
- /**
239
- * Main export function
240
- */
241
- export(format: ExportFormat, filters?: ExportFilters, options?: ExportOptions): ExportResult;
242
- /**
243
- * Copy to clipboard with fallback
244
- */
245
- copyToClipboard(format: ExportFormat, filters?: ExportFilters, options?: ExportOptions): Promise<boolean>;
246
- /**
247
- * Get all logs (for debugging)
248
- */
249
- getAllLogs(): LogEntry[];
250
- }
251
-
252
- /**
253
- * Export functionality
254
- */
255
- export declare const exportLogs: (format: "csv" | "json" | "xml", options?: any) => Promise<string>;
256
-
257
- /**
258
- * Export options for different formats
259
- */
260
- declare interface ExportOptions {
261
- minimal?: boolean;
262
- compact?: boolean;
263
- styled?: boolean;
264
- includeMetadata?: boolean;
265
- groupBy?: ExportFilters['groupBy'];
266
- }
267
-
268
- /**
269
- * Export result with metadata
270
- */
271
- declare interface ExportResult {
272
- format: string;
273
- data: string;
274
- metadata: {
275
- totalLogs: number;
276
- filteredLogs: number;
277
- exportedAt: string;
278
- filters?: ExportFilters;
279
- options?: ExportOptions;
280
- };
281
- }
282
-
283
- /**
284
- * Export management utilities
285
- */
286
- export declare const exportUtils: {
287
- /**
288
- * Export current logs as CSV
289
- */
290
- exportCSV(options?: any): Promise<string>;
291
- /**
292
- * Export current logs as JSON
293
- */
294
- exportJSON(options?: any): Promise<string>;
295
- /**
296
- * Export current logs as XML
297
- */
298
- exportXML(options?: any): Promise<string>;
299
- /**
300
- * Get log statistics
301
- */
302
- getStats(): Record<string, number>;
303
- /**
304
- * Clear all logs
305
- */
306
- clear(): void;
307
- };
308
-
309
- export declare const flushRemoteHandlers: () => Promise<void>;
310
-
311
- export declare const getLogs: () => any[];
312
-
313
- export declare const getLogStats: () => Record<string, number>;
314
-
315
- export declare const group: (label: string, collapsed?: boolean) => void;
316
-
317
- export declare const groupEnd: () => void;
318
-
319
- /**
320
- * Interface for custom log handlers (extensibility)
321
- */
322
- export declare interface ILogHandler {
323
- handle(level: LogLevel, message: string, args: any[], metadata: LogMetadata): void;
324
- }
325
-
326
- export declare const info: (...args: any[]) => void;
327
-
328
- /**
329
- * Supported log levels in hierarchical order (debug < info < warn < error < critical)
330
- */
331
- declare const LOG_LEVELS: {
332
- readonly debug: 0;
333
- readonly info: 1;
334
- readonly warn: 2;
335
- readonly error: 3;
336
- readonly critical: 4;
337
- };
338
-
339
- /**
340
- * Stored log entry for export functionality
341
- */
342
- declare interface LogEntry {
343
- id: string;
344
- timestamp: string;
345
- level: LogLevel;
346
- prefix?: string;
347
- message: string;
348
- args: any[];
349
- location?: StackInfo;
350
- groupInfo?: {
351
- depth: number;
352
- groupName?: string;
353
- };
354
- }
355
-
356
- /**
357
- * Main Logger class implementing state-of-the-art logging capabilities
358
- */
359
- declare class Logger {
360
- private config;
361
- private scopedPrefix?;
362
- private handlers;
363
- private timers;
364
- private groupDepth;
365
- private exportHandler?;
366
- private cliProcessor?;
367
- /**
368
- * Creates a new Logger instance
369
- */
370
- constructor(config?: Partial<LoggerConfig>);
371
- /**
372
- * Get current configuration
373
- */
374
- getConfig(): LoggerConfig;
375
- /**
376
- * Update configuration
377
- */
378
- updateConfig(updates: Partial<LoggerConfig>): void;
379
- /**
380
- * Sets the global prefix for all log messages
381
- */
382
- setGlobalPrefix(prefix: string): void;
383
- /**
384
- * Sets the verbosity level for filtering log output
385
- */
386
- setVerbosity(level: Verbosity): void;
387
- /**
388
- * Sets the logger theme
389
- */
390
- setTheme(theme: ThemeVariant): void;
391
- /**
392
- * Set banner type for initialization display
393
- */
394
- setBannerType(bannerType: BannerType): void;
395
- /**
396
- * Reset logger to default configuration
397
- */
398
- resetConfig(): void;
399
- /**
400
- * Creates a scoped logger with a specific prefix
401
- */
402
- createScopedLogger(prefix: string): Logger;
403
- /**
404
- * Adds a custom log handler for extensibility
405
- */
406
- addHandler(handler: ILogHandler): void;
407
- /**
408
- * Get all registered handlers
409
- */
410
- getHandlers(): ILogHandler[];
411
- /**
412
- * Get export handler if available
413
- */
414
- getExportHandler(): ExportLogHandler | undefined;
415
- /**
416
- * Checks if a log level should be output based on current verbosity
417
- */
418
- private shouldLog;
419
- /**
420
- * Gets the effective prefix (global + scoped)
421
- */
422
- private getEffectivePrefix;
423
- /**
424
- * Core logging method that handles styling and formatting
425
- */
426
- private log;
427
- /**
428
- * Logs debug information (lowest priority)
429
- */
430
- debug(...args: any[]): void;
431
- /**
432
- * Logs informational messages
433
- */
434
- info(...args: any[]): void;
435
- /**
436
- * Logs warning messages
437
- */
438
- warn(...args: any[]): void;
439
- /**
440
- * Logs error messages
441
- */
442
- error(...args: any[]): void;
443
- /**
444
- * Logs success messages (special info level)
445
- */
446
- success(...args: any[]): void;
447
- /**
448
- * Logs trace information (detailed debugging)
449
- */
450
- trace(...args: any[]): void;
451
- /**
452
- * Logs critical errors (highest priority)
453
- */
454
- critical(...args: any[]): void;
455
- /**
456
- * Displays data in a table format
457
- */
458
- table(data: any, columns?: string[]): void;
459
- /**
460
- * Starts a collapsible group in the console
461
- */
462
- group(label: string, collapsed?: boolean): void;
463
- /**
464
- * Ends the current console group
465
- */
466
- groupEnd(): void;
467
- /**
468
- * Starts a timer with the given label
469
- */
470
- time(label: string): void;
471
- /**
472
- * Ends a timer and logs the elapsed time
473
- */
474
- timeEnd(label: string): void;
475
- /**
476
- * Display banner with specified or configured type
477
- */
478
- showBanner(bannerType?: BannerType): void;
479
- /**
480
- * Log with SVG background image
481
- */
482
- logWithSVG(message: string, svgContent?: string, options?: StyleOptions): void;
483
- /**
484
- * Log with animated background gradient
485
- */
486
- logAnimated(message: string, duration?: number): void;
487
- /**
488
- * Groups logs by a specific property using modern Object.groupBy (when available)
489
- */
490
- logGrouped<T>(items: T[], groupBy: (item: T) => string): void;
491
- /**
492
- * CLI command processor for logger configuration and export
493
- */
494
- cli(command: string): Promise<void>;
495
- }
496
-
497
- /**
498
- * Configuration interface for logger instances
499
- */
500
- declare interface LoggerConfig {
501
- globalPrefix?: string;
502
- verbosity: Verbosity;
503
- enableColors: boolean;
504
- enableTimestamps: boolean;
505
- enableStackTrace: boolean;
506
- theme?: ThemeVariant;
507
- bannerType?: BannerType;
508
- bufferSize?: number;
509
- }
510
-
511
- /**
512
- * Log level type derived from LOG_LEVELS keys
513
- */
514
- declare type LogLevel = keyof typeof LOG_LEVELS;
515
-
516
- /**
517
- * Metadata associated with each log entry
518
- */
519
- declare interface LogMetadata {
520
- timestamp: string;
521
- level: LogLevel;
522
- prefix?: string;
523
- stackInfo?: StackInfo;
524
- group?: string;
525
- }
526
-
527
- /**
528
- * Remote log handler for sending logs to external services
529
- */
530
- export declare class RemoteLogHandler implements ILogHandler {
531
- private endpoint;
532
- private apiKey?;
533
- constructor(endpoint: string, apiKey?: string);
534
- handle(level: LogLevel, message: string, args: any[], metadata: LogMetadata): Promise<void>;
535
- }
536
-
537
- /**
538
- * Remote logging utilities
539
- */
540
- export declare const remoteUtils: {
541
- /**
542
- * Add remote logging endpoint
543
- */
544
- addEndpoint(url: string, apiKey?: string): void;
545
- /**
546
- * Clear all remote endpoints
547
- */
548
- clearEndpoints(): void;
549
- /**
550
- * Flush all remote logs
551
- */
552
- flush(): Promise<void>;
553
- };
554
-
555
- export declare const setGlobalPrefix: (prefix: string) => void;
556
-
557
- export declare const setVerbosity: (level: Verbosity) => void;
558
-
559
- /**
560
- * Parsed stack trace information
561
- */
562
- declare interface StackInfo {
563
- file: string;
564
- line: number;
565
- column: number;
566
- function?: string;
567
- }
568
-
569
- /**
570
- * Options for styling components
571
- */
572
- declare interface StyleOptions {
573
- width?: number;
574
- height?: number;
575
- padding?: string;
576
- }
577
-
578
- export declare const success: (...args: any[]) => void;
579
-
580
- export declare const table: (data: any, columns?: string[]) => void;
581
-
582
- /**
583
- * Theme variants for different visual styles
584
- */
585
- declare type ThemeVariant = 'default' | 'dark' | 'light' | 'neon' | 'minimal' | 'cyberpunk';
586
-
587
- export declare const time: (label: string) => void;
588
-
589
- export declare const timeEnd: (label: string) => void;
590
-
591
- export declare const trace: (...args: any[]) => void;
592
-
593
- /**
594
- * Verbosity level type for filtering logs
595
- */
596
- declare type Verbosity = LogLevel | 'silent';
597
-
598
- export declare const warn: (...args: any[]) => void;
599
-
600
- export { }