@mks2508/better-logger 2.1.0 → 3.0.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 (85) hide show
  1. package/.claude/settings.local.json +6 -1
  2. package/CHANGELOG.json +93 -1
  3. package/CHANGELOG.md +127 -0
  4. package/CLAUDE.md +14 -1
  5. package/README.md +111 -20
  6. package/dist/Logger.d.ts +205 -58
  7. package/dist/Logger.d.ts.map +1 -1
  8. package/dist/ScopedLogger.d.ts +23 -276
  9. package/dist/ScopedLogger.d.ts.map +1 -1
  10. package/dist/chunks/Logger-BCfx_yCK.js +2 -0
  11. package/dist/chunks/Logger-BCfx_yCK.js.map +1 -0
  12. package/dist/chunks/{Logger-B7L-ujY4.js → Logger-C126NTrD.js} +862 -96
  13. package/dist/chunks/Logger-C126NTrD.js.map +1 -0
  14. package/dist/exports-module.d.ts +1 -1
  15. package/dist/exports-module.d.ts.map +1 -1
  16. package/dist/exports.cjs +1 -1
  17. package/dist/exports.js +1 -1
  18. package/dist/hooks/HookManager.d.ts +21 -0
  19. package/dist/hooks/HookManager.d.ts.map +1 -0
  20. package/dist/hooks/index.d.ts +2 -0
  21. package/dist/hooks/index.d.ts.map +1 -0
  22. package/dist/index.cjs +1 -1
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.d.ts +23 -3
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +240 -9
  27. package/dist/index.js.map +1 -1
  28. package/dist/serializers/SerializerRegistry.d.ts +16 -0
  29. package/dist/serializers/SerializerRegistry.d.ts.map +1 -0
  30. package/dist/serializers/index.d.ts +2 -0
  31. package/dist/serializers/index.d.ts.map +1 -0
  32. package/dist/styling/StyleCache.d.ts +42 -0
  33. package/dist/styling/StyleCache.d.ts.map +1 -0
  34. package/dist/styling-module.d.ts +1 -1
  35. package/dist/styling-module.d.ts.map +1 -1
  36. package/dist/styling.cjs +1 -1
  37. package/dist/styling.js +2 -2
  38. package/dist/transports/ConsoleTransport.d.ts +9 -0
  39. package/dist/transports/ConsoleTransport.d.ts.map +1 -0
  40. package/dist/transports/FileTransport.d.ts +15 -0
  41. package/dist/transports/FileTransport.d.ts.map +1 -0
  42. package/dist/transports/HttpTransport.d.ts +16 -0
  43. package/dist/transports/HttpTransport.d.ts.map +1 -0
  44. package/dist/transports/TransportManager.d.ts +14 -0
  45. package/dist/transports/TransportManager.d.ts.map +1 -0
  46. package/dist/transports/index.d.ts +5 -0
  47. package/dist/transports/index.d.ts.map +1 -0
  48. package/dist/types/core.d.ts +38 -0
  49. package/dist/types/core.d.ts.map +1 -1
  50. package/dist/types/hooks.d.ts +36 -0
  51. package/dist/types/hooks.d.ts.map +1 -0
  52. package/dist/types/index.d.ts +5 -1
  53. package/dist/types/index.d.ts.map +1 -1
  54. package/dist/types/serializers.d.ts +25 -0
  55. package/dist/types/serializers.d.ts.map +1 -0
  56. package/dist/types/transports.d.ts +47 -0
  57. package/dist/types/transports.d.ts.map +1 -0
  58. package/docs/API.md +227 -0
  59. package/package.json +1 -1
  60. package/packages/core/package.json +1 -1
  61. package/src/Logger.ts +391 -102
  62. package/src/ScopedLogger.ts +78 -318
  63. package/src/hooks/HookManager.ts +177 -0
  64. package/src/hooks/index.ts +1 -0
  65. package/src/index.ts +77 -2
  66. package/src/serializers/SerializerRegistry.ts +173 -0
  67. package/src/serializers/index.ts +1 -0
  68. package/src/styling/StyleCache.ts +131 -0
  69. package/src/transports/ConsoleTransport.ts +28 -0
  70. package/src/transports/FileTransport.ts +53 -0
  71. package/src/transports/HttpTransport.ts +56 -0
  72. package/src/transports/TransportManager.ts +130 -0
  73. package/src/transports/index.ts +4 -0
  74. package/src/types/core.ts +46 -0
  75. package/src/types/hooks.ts +45 -0
  76. package/src/types/index.ts +39 -1
  77. package/src/types/serializers.ts +30 -0
  78. package/src/types/transports.ts +52 -0
  79. package/dist/chunks/Logger-B7L-ujY4.js.map +0 -1
  80. package/dist/chunks/Logger-DzU_c5sX.js +0 -2
  81. package/dist/chunks/Logger-DzU_c5sX.js.map +0 -1
  82. package/dist/chunks/ScopedLogger-BY3-E8Ov.js +0 -2
  83. package/dist/chunks/ScopedLogger-BY3-E8Ov.js.map +0 -1
  84. package/dist/chunks/ScopedLogger-D-RbiFZn.js +0 -361
  85. package/dist/chunks/ScopedLogger-D-RbiFZn.js.map +0 -1
package/dist/Logger.d.ts CHANGED
@@ -1,4 +1,8 @@
1
- import { LogLevel, Verbosity, ThemeVariant, BannerType, LoggerConfig, ILogHandler, StyleOptions } from './types/index.js';
1
+ import { LogLevel, Verbosity, ThemeVariant, BannerType, LoggerConfig, ILogHandler, StyleOptions, Bindings, SerializerFn, HookEvent, HookCallback, MiddlewareFn, TransportTarget } from './types/index.js';
2
+ import { SerializerRegistry } from './serializers/index.js';
3
+ import { HookManager } from './hooks/index.js';
4
+ import { TransportManager } from './transports/index.js';
5
+ import { ScopedLogger, APILogger, ComponentLogger } from './ScopedLogger.js';
2
6
  import { ExportLogHandler } from './handlers/index.js';
3
7
  /**
4
8
  * Clase principal Logger con capacidades avanzadas de logging
@@ -35,7 +39,11 @@ export declare class Logger {
35
39
  private exportHandler?;
36
40
  private cliProcessor?;
37
41
  private themeChangeListener?;
42
+ private badgeList;
38
43
  private displaySettings;
44
+ private serializerRegistry;
45
+ private hookManager;
46
+ private transportManager?;
39
47
  /**
40
48
  * Crea una nueva instancia del Logger
41
49
  *
@@ -156,14 +164,6 @@ export declare class Logger {
156
164
  * @since 0.3.0
157
165
  */
158
166
  cleanup(): void;
159
- /**
160
- * Factory method para crear loggers con scope evitando dependencias circulares
161
- * @private
162
- * @param {string} type - Tipo de logger ('scope' | 'api' | 'component')
163
- * @param {string} name - Nombre del scope
164
- * @returns {Promise<any>} Logger con scope
165
- */
166
- private createScopedLogger;
167
167
  /**
168
168
  * Aplica un preset inteligente - funciona perfectamente sin configuración
169
169
  *
@@ -256,58 +256,44 @@ export declare class Logger {
256
256
  */
257
257
  showBadges(): void;
258
258
  /**
259
- * Crea un logger para componentes con estilo automático
259
+ * Establece múltiples badges para los logs
260
260
  *
261
- * @param {string} name - Nombre del componente
262
- * @returns {ComponentLogger} Logger con scope de componente
261
+ * @param {string[]} badges - Array de badges a mostrar
262
+ * @returns {this} Logger instance para encadenamiento
263
263
  *
264
264
  * @example
265
- * const authLogger = logger.component('Autenticación');
266
- * authLogger.info('Validando credenciales');
267
- * // [COMPONENT] [Autenticación] Validando credenciales
265
+ * logger.badges(['v3', 'stable']).info('Release publicado');
266
+ * logger.badges(['API', 'v2']).warn('Endpoint deprecado');
268
267
  *
269
- * authLogger.success('Usuario autenticado');
270
- * // [COMPONENT] [Autenticación] ✓ Usuario autenticado
271
- *
272
- * @since 0.3.0
268
+ * @since 3.0.0
273
269
  */
274
- component(name: string): any;
270
+ badges(badges: string[]): this;
275
271
  /**
276
- * Crea un logger para APIs con badges automáticos
272
+ * Añade un badge individual a la lista
277
273
  *
278
- * @param {string} name - Nombre de la API o endpoint
279
- * @returns {APILogger} Logger con scope de API
274
+ * @param {string} badge - Badge a añadir
275
+ * @returns {this} Logger instance para encadenamiento
280
276
  *
281
277
  * @example
282
- * const api = logger.api('REST');
283
- * api.info('GET /users');
284
- * // [API] [REST] GET /users
285
- *
286
- * // Con badges adicionales
287
- * api.badges(['v2', 'cached']).info('Respuesta desde caché');
288
- * // [API] [v2] [cached] [REST] Respuesta desde caché
278
+ * logger.badge('DEBUG').badge('AUTH').info('Token validado');
289
279
  *
290
- * @since 0.3.0
280
+ * @since 3.0.0
291
281
  */
292
- api(name: string): any;
282
+ badge(badge: string): this;
293
283
  /**
294
- * Crea un logger con scope general y soporte de badges
284
+ * Limpia todos los badges activos
295
285
  *
296
- * @param {string} name - Nombre del scope
297
- * @returns {ScopedLogger} Logger con scope personalizado
286
+ * @returns {this} Logger instance para encadenamiento
298
287
  *
299
288
  * @example
300
- * const dbLogger = logger.scope('Database');
301
- * dbLogger.info('Conectando a MongoDB');
302
- * // [Database] Conectando a MongoDB
289
+ * logger.clearBadges().info('Sin badges');
303
290
  *
304
- * // Con badges personalizados
305
- * dbLogger.badge('SLOW').warn('Query tardó 5s');
306
- * // [SLOW] [Database] Query tardó 5s
307
- *
308
- * @since 0.3.0
291
+ * @since 3.0.0
309
292
  */
310
- scope(name: string): any;
293
+ clearBadges(): this;
294
+ component(name: string): ComponentLogger;
295
+ api(name: string): APILogger;
296
+ scope(name: string): ScopedLogger;
311
297
  /**
312
298
  * Personalización simple con configuración mínima
313
299
  *
@@ -388,6 +374,160 @@ export declare class Logger {
388
374
  * @since 0.3.0
389
375
  */
390
376
  getExportHandler(): ExportLogHandler | undefined;
377
+ /**
378
+ * Añade un serializador personalizado para un tipo específico
379
+ *
380
+ * @param type - Constructor del tipo a serializar
381
+ * @param serializer - Función de serialización
382
+ * @param priority - Prioridad (mayor = primero)
383
+ *
384
+ * @example
385
+ * logger.addSerializer(Error, (err) => ({
386
+ * name: err.name,
387
+ * message: err.message,
388
+ * stack: err.stack?.split('\n').slice(0, 5)
389
+ * }));
390
+ *
391
+ * @since 3.0.0
392
+ */
393
+ addSerializer<T>(type: new (...args: any[]) => T, serializer: SerializerFn<T>, priority?: number): void;
394
+ /**
395
+ * Elimina un serializador registrado
396
+ *
397
+ * @param type - Constructor del tipo a remover
398
+ * @returns true si se eliminó
399
+ *
400
+ * @since 3.0.0
401
+ */
402
+ removeSerializer<T>(type: new (...args: any[]) => T): boolean;
403
+ /**
404
+ * Obtiene el registry de serializadores
405
+ *
406
+ * @returns SerializerRegistry
407
+ * @since 3.0.0
408
+ */
409
+ getSerializerRegistry(): SerializerRegistry;
410
+ /**
411
+ * Registra un hook para un evento
412
+ *
413
+ * @param event - Evento: 'beforeLog' | 'afterLog' | 'onError'
414
+ * @param callback - Función a ejecutar
415
+ * @param priority - Prioridad (mayor = primero)
416
+ * @returns Función para desregistrar
417
+ *
418
+ * @example
419
+ * const unsubscribe = logger.on('beforeLog', (entry) => {
420
+ * entry.correlationId = getCorrelationId();
421
+ * return entry;
422
+ * });
423
+ *
424
+ * @since 3.0.0
425
+ */
426
+ on(event: HookEvent, callback: HookCallback, priority?: number): () => void;
427
+ /**
428
+ * Registra un hook que se ejecuta solo una vez
429
+ *
430
+ * @param event - Evento: 'beforeLog' | 'afterLog' | 'onError'
431
+ * @param callback - Función a ejecutar
432
+ * @param priority - Prioridad (mayor = primero)
433
+ * @returns Función para desregistrar
434
+ *
435
+ * @since 3.0.0
436
+ */
437
+ once(event: HookEvent, callback: HookCallback, priority?: number): () => void;
438
+ /**
439
+ * Elimina un hook registrado
440
+ *
441
+ * @param event - Evento del hook
442
+ * @param callback - Callback a remover
443
+ * @returns true si se eliminó
444
+ *
445
+ * @since 3.0.0
446
+ */
447
+ off(event: HookEvent, callback: HookCallback): boolean;
448
+ /**
449
+ * Añade un middleware al pipeline
450
+ *
451
+ * @param middleware - Función middleware
452
+ * @param priority - Prioridad (mayor = primero)
453
+ * @returns Función para desregistrar
454
+ *
455
+ * @example
456
+ * logger.use((entry, next) => {
457
+ * entry.requestId = asyncLocalStorage.getStore()?.requestId;
458
+ * next();
459
+ * });
460
+ *
461
+ * @since 3.0.0
462
+ */
463
+ use(middleware: MiddlewareFn, priority?: number): () => void;
464
+ /**
465
+ * Obtiene el HookManager
466
+ *
467
+ * @returns HookManager
468
+ * @since 3.0.0
469
+ */
470
+ getHookManager(): HookManager;
471
+ /**
472
+ * Añade un transport para envío de logs
473
+ *
474
+ * @param target - Configuración del transport
475
+ * @returns ID único del transport
476
+ *
477
+ * @example
478
+ * // File transport
479
+ * logger.addTransport({
480
+ * target: 'file',
481
+ * options: { destination: '/var/log/app.log' }
482
+ * });
483
+ *
484
+ * @example
485
+ * // HTTP transport con batching
486
+ * logger.addTransport({
487
+ * target: 'http',
488
+ * options: {
489
+ * url: 'https://logs.example.com',
490
+ * batchSize: 100,
491
+ * flushInterval: 5000
492
+ * },
493
+ * level: 'warn'
494
+ * });
495
+ *
496
+ * @since 3.0.0
497
+ */
498
+ addTransport(target: TransportTarget): string;
499
+ /**
500
+ * Elimina un transport
501
+ *
502
+ * @param id - ID del transport a remover
503
+ * @returns true si se eliminó
504
+ *
505
+ * @since 3.0.0
506
+ */
507
+ removeTransport(id: string): boolean;
508
+ /**
509
+ * Fuerza el flush de todos los transports
510
+ *
511
+ * @returns Promise que resuelve cuando todos los buffers están vaciados
512
+ *
513
+ * @since 3.0.0
514
+ */
515
+ flushTransports(): Promise<void>;
516
+ /**
517
+ * Cierra todos los transports
518
+ *
519
+ * @returns Promise que resuelve cuando todos están cerrados
520
+ *
521
+ * @since 3.0.0
522
+ */
523
+ closeTransports(): Promise<void>;
524
+ /**
525
+ * Obtiene el TransportManager
526
+ *
527
+ * @returns TransportManager o undefined si no hay transports
528
+ * @since 3.0.0
529
+ */
530
+ getTransportManager(): TransportManager | undefined;
391
531
  /**
392
532
  * Verifica si un nivel de log debe mostrarse según la verbosidad actual
393
533
  * @private
@@ -408,17 +548,7 @@ export declare class Logger {
408
548
  * @param {...any} args - Argumentos a loggear
409
549
  */
410
550
  protected log(level: LogLevel, ...args: any[]): void;
411
- /**
412
- * Registra información de debug (prioridad más baja)
413
- *
414
- * @param {...any} args - Mensajes y datos a loggear
415
- *
416
- * @example
417
- * logger.debug('Variable estado:', { usuario: 'Juan', activo: true });
418
- * logger.debug('Iniciando proceso de validación');
419
- *
420
- * @since 0.3.0
421
- */
551
+ logWithBindings(bindings: Bindings, level: LogLevel, ...args: any[]): void;
422
552
  debug(...args: any[]): void;
423
553
  /**
424
554
  * Registra mensajes informativos
@@ -694,11 +824,28 @@ export declare const hideLocation: () => void;
694
824
  export declare const showLocation: () => void;
695
825
  export declare const hideBadges: () => void;
696
826
  export declare const showBadges: () => void;
697
- export declare const component: (name: string) => any;
698
- export declare const api: (name: string) => any;
699
- export declare const scope: (name: string) => any;
827
+ export declare const badges: (badgeList: string[]) => Logger;
828
+ export declare const badge: (badgeName: string) => Logger;
829
+ export declare const clearBadges: () => Logger;
830
+ export declare const component: (name: string) => ComponentLogger;
831
+ export declare const api: (name: string) => APILogger;
832
+ export declare const scope: (name: string) => ScopedLogger;
700
833
  export declare const customize: (overrides: any) => void;
701
834
  export declare const styles: () => any;
835
+ export declare const addSerializer: <T>(type: new (...args: any[]) => T, serializer: SerializerFn<T>, priority?: number) => void;
836
+ export declare const removeSerializer: <T>(type: new (...args: any[]) => T) => boolean;
837
+ export declare const on: (event: HookEvent, callback: HookCallback, priority?: number) => () => void;
838
+ export declare const once: (event: HookEvent, callback: HookCallback, priority?: number) => () => void;
839
+ export declare const off: (event: HookEvent, callback: HookCallback) => boolean;
840
+ export declare const use: (middleware: MiddlewareFn, priority?: number) => () => void;
841
+ export declare const addTransport: (target: TransportTarget) => string;
842
+ export declare const removeTransport: (id: string) => boolean;
843
+ export declare const flushTransports: () => Promise<void>;
844
+ export declare const closeTransports: () => Promise<void>;
702
845
  export { FileLogHandler, RemoteLogHandler, AnalyticsLogHandler, ExportLogHandler } from './handlers/index.js';
703
846
  export { StyleBuilder, StylePresets as Styles } from './styling/index.js';
847
+ export { SerializerRegistry } from './serializers/index.js';
848
+ export { HookManager } from './hooks/index.js';
849
+ export { TransportManager, ConsoleTransport, FileTransport, HttpTransport } from './transports/index.js';
850
+ export { StyleCache, getStyleCache } from './styling/StyleCache.js';
704
851
  //# sourceMappingURL=Logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"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"}
@@ -1,304 +1,51 @@
1
1
  import { Logger } from './Logger.js';
2
- import { LoggerConfig, LogLevel } from './types/index.js';
3
- /**
4
- * Logger con scope mejorado con badges y API simplificada
5
- *
6
- * @class ScopedLogger
7
- * @extends Logger
8
- * @description Logger contextual que añade prefijos y badges automáticamente
9
- *
10
- * @example
11
- * const dbLogger = logger.scope('Database');
12
- * dbLogger.info('Conectando...'); // [Database] Conectando...
13
- *
14
- * // Con badges personalizados
15
- * dbLogger.badge('SLOW').warn('Query lenta detectada');
16
- * // [SLOW] [Database] Query lenta detectada
17
- *
18
- * @since 0.3.0
19
- */
20
- export declare class ScopedLogger extends Logger {
21
- private parentLogger;
22
- private scopeName;
2
+ export declare class ScopedLogger {
3
+ private readonly parent;
4
+ private readonly scopeName;
23
5
  private badgeList;
24
6
  private contextStack;
25
- constructor(parentLogger: Logger, scopeName: string, config?: Partial<LoggerConfig>);
26
- /**
27
- * Añade múltiples badges a este logger con scope
28
- *
29
- * @param {string[]} badges - Array de badges a añadir
30
- * @returns {ScopedLogger} Esta instancia para encadenamiento
31
- *
32
- * @example
33
- * const api = logger.scope('API');
34
- * api.badges(['v2', 'beta', 'cached'])
35
- * .info('Respuesta desde caché');
36
- * // [v2] [beta] [cached] [API] Respuesta desde caché
37
- *
38
- * @since 0.3.0
39
- */
40
- badges(badges: string[]): ScopedLogger;
41
- /**
42
- * Añade un badge individual
43
- *
44
- * @param {string} badge - Badge a añadir
45
- * @returns {ScopedLogger} Esta instancia para encadenamiento
46
- *
47
- * @example
48
- * dbLogger.badge('SLOW').warn('Query tardó 3s');
49
- * // [SLOW] [Database] Query tardó 3s
50
- *
51
- * @since 0.3.0
52
- */
53
- badge(badge: string): ScopedLogger;
54
- /**
55
- * Elimina todos los badges
56
- *
57
- * @returns {ScopedLogger} Esta instancia para encadenamiento
58
- *
59
- * @example
60
- * api.clearBadges().info('Sin badges');
61
- * // [API] Sin badges
62
- *
63
- * @since 0.3.0
64
- */
65
- clearBadges(): ScopedLogger;
66
- /**
67
- * Establece un preset de estilo para este logger con scope
68
- *
69
- * @param {string} presetName - Nombre del preset a aplicar
70
- * @returns {ScopedLogger} Esta instancia para encadenamiento
71
- *
72
- * @example
73
- * const errorLogger = logger.scope('ErrorHandler')
74
- * .style('cyberpunk');
75
- *
76
- * @since 0.3.0
77
- */
78
- style(presetName: string): ScopedLogger;
79
- /**
80
- * Crea un contexto temporal que se limpia automáticamente
81
- *
82
- * @param {string} contextName - Nombre del contexto
83
- * @returns {ContextLogger} Logger con contexto temporal
84
- *
85
- * @example
86
- * const db = logger.scope('Database');
87
- *
88
- * // Contexto temporal para una operación
89
- * db.context('Migration').run(() => {
90
- * db.info('Iniciando migración');
91
- * db.success('Tablas creadas');
92
- * });
93
- * // Contexto automáticamente limpiado
94
- *
95
- * @since 0.3.0
96
- */
97
- context(contextName: string): ContextLogger;
98
- /**
99
- * Sobrescribe el logging principal para incluir badges
100
- * @protected
101
- * @param {LogLevel} level - Nivel del log
102
- * @param {...any} args - Argumentos del log
103
- */
104
- protected log(level: LogLevel, ...args: any[]): void;
105
- /**
106
- * Obtiene la cadena de badges formateada
107
- * @private
108
- * @returns {string} Badges formateados como [BADGE1][BADGE2]
109
- */
110
- private getBadgeString;
111
- /**
112
- * Obtiene el prefijo del scope (incluye stack de contexto)
113
- * @private
114
- * @returns {string} Prefijo completo con contextos
115
- */
7
+ private _timers?;
8
+ constructor(parent: Logger, scopeName: string);
9
+ private get timers();
10
+ private getBindings;
116
11
  private getScopePrefix;
117
- /**
118
- * Método interno para añadir contexto
119
- * @internal
120
- */
12
+ badges(badges: string[]): this;
13
+ badge(badge: string): this;
14
+ clearBadges(): this;
15
+ style(presetName: string): this;
16
+ context(contextName: string): ContextLogger;
17
+ time(label: string): void;
18
+ timeEnd(label: string): number | undefined;
19
+ debug(...args: any[]): void;
20
+ info(...args: any[]): void;
21
+ warn(...args: any[]): void;
22
+ error(...args: any[]): void;
23
+ success(...args: any[]): void;
24
+ critical(...args: any[]): void;
25
+ trace(...args: any[]): void;
121
26
  _pushContext(context: string): void;
122
- /**
123
- * Método interno para eliminar contexto
124
- * @internal
125
- */
126
27
  _popContext(): void;
127
28
  }
128
- /**
129
- * Logger específico para APIs con badges comunes de API
130
- *
131
- * @class APILogger
132
- * @extends ScopedLogger
133
- * @description Logger especializado para endpoints y servicios API
134
- *
135
- * @example
136
- * const api = logger.api('REST');
137
- * api.info('GET /users');
138
- * // [API] [REST] GET /users
139
- *
140
- * api.slow('Query lenta', 3500);
141
- * // [API] [SLOW] [REST] Query lenta (3500ms)
142
- *
143
- * @since 0.3.0
144
- */
145
29
  export declare class APILogger extends ScopedLogger {
146
- constructor(parentLogger: Logger, apiName: string, config?: Partial<LoggerConfig>);
147
- /**
148
- * Registra operaciones lentas
149
- *
150
- * @param {string} message - Mensaje sobre la operación lenta
151
- * @param {number} duration - Duración en milisegundos (opcional)
152
- *
153
- * @example
154
- * api.slow('Query compleja', 5000);
155
- * api.slow('Procesamiento pesado');
156
- *
157
- * @since 0.3.0
158
- */
30
+ constructor(parent: Logger, apiName: string);
159
31
  slow(message: string, duration?: number): void;
160
- /**
161
- * Registra límites de tasa alcanzados
162
- *
163
- * @param {string} message - Mensaje sobre el límite
164
- *
165
- * @example
166
- * api.rateLimit('Límite excedido: 100 req/min');
167
- *
168
- * @since 0.3.0
169
- */
170
32
  rateLimit(message: string): void;
171
- /**
172
- * Registra problemas de autenticación
173
- *
174
- * @param {string} message - Mensaje de autenticación
175
- *
176
- * @example
177
- * api.auth('Token inválido o expirado');
178
- * api.auth('Credenciales incorrectas');
179
- *
180
- * @since 0.3.0
181
- */
182
33
  auth(message: string): void;
183
- /**
184
- * Registra advertencias de deprecación
185
- *
186
- * @param {string} message - Mensaje de deprecación
187
- *
188
- * @example
189
- * api.deprecated('Este endpoint será eliminado en v2.0');
190
- * api.deprecated('Usar /v2/users en lugar de /users');
191
- *
192
- * @since 0.3.0
193
- */
194
34
  deprecated(message: string): void;
195
35
  }
196
- /**
197
- * Logger específico para componentes de UI
198
- *
199
- * @class ComponentLogger
200
- * @extends ScopedLogger
201
- * @description Logger especializado para componentes con eventos de ciclo de vida
202
- *
203
- * @example
204
- * const authForm = logger.component('AuthForm');
205
- * authForm.lifecycle('mounted');
206
- * authForm.stateChange('idle', 'loading');
207
- *
208
- * @since 0.3.0
209
- */
210
36
  export declare class ComponentLogger extends ScopedLogger {
211
- constructor(parentLogger: Logger, componentName: string, config?: Partial<LoggerConfig>);
212
- /**
213
- * Registra eventos del ciclo de vida del componente
214
- *
215
- * @param {string} event - Nombre del evento (mounted, unmounted, updated, etc)
216
- * @param {string} message - Mensaje adicional (opcional)
217
- *
218
- * @example
219
- * component.lifecycle('mounted', 'Componente listo');
220
- * component.lifecycle('beforeDestroy');
221
- *
222
- * @since 0.3.0
223
- */
37
+ constructor(parent: Logger, componentName: string);
224
38
  lifecycle(event: string, message?: string): void;
225
- /**
226
- * Registra cambios de estado
227
- *
228
- * @param {string} from - Estado anterior
229
- * @param {string} to - Estado nuevo
230
- * @param {any} data - Datos adicionales (opcional)
231
- *
232
- * @example
233
- * component.stateChange('idle', 'loading');
234
- * component.stateChange('loading', 'error', { code: 404 });
235
- *
236
- * @since 0.3.0
237
- */
238
39
  stateChange(from: string, to: string, data?: any): void;
239
- /**
240
- * Registra cambios en las propiedades
241
- *
242
- * @param {Record<string, any>} changes - Objeto con los cambios
243
- *
244
- * @example
245
- * component.propsChange({
246
- * user: newUser,
247
- * isActive: true
248
- * });
249
- *
250
- * @since 0.3.0
251
- */
252
40
  propsChange(changes: Record<string, any>): void;
253
41
  }
254
- /**
255
- * Logger de contexto temporal que se limpia automáticamente
256
- *
257
- * @class ContextLogger
258
- * @description Proporciona un contexto temporal para operaciones agrupadas
259
- *
260
- * @example
261
- * const db = logger.scope('Database');
262
- *
263
- * // El contexto se limpia automáticamente al finalizar
264
- * db.context('Transaction').run(() => {
265
- * db.info('Iniciando transacción');
266
- * db.success('Transacción completada');
267
- * });
268
- *
269
- * @since 0.3.0
270
- */
271
42
  export declare class ContextLogger {
272
43
  private parentLogger;
273
44
  private contextName;
274
45
  constructor(parentLogger: ScopedLogger, contextName: string);
275
- /**
276
- * Ejecuta una función con este contexto activo
277
- *
278
- * @template T - Tipo de retorno de la función
279
- * @param {Function} fn - Función a ejecutar
280
- * @returns {T} Resultado de la función
281
- *
282
- * @example
283
- * const result = logger.context('Process').run(() => {
284
- * logger.info('Procesando...');
285
- * return processData();
286
- * });
287
- *
288
- * @since 0.3.0
289
- */
290
46
  run<T>(fn: () => T): T;
291
- /**
292
- * Run an async function with this context active
293
- */
294
47
  runAsync<T>(fn: () => Promise<T>): Promise<T>;
295
- /**
296
- * Start the context (manual mode)
297
- */
298
48
  start(): void;
299
- /**
300
- * End the context (manual mode)
301
- */
302
49
  end(): void;
303
50
  debug(...args: any[]): void;
304
51
  info(...args: any[]): void;