@wgtechlabs/log-engine 2.2.2 โ†’ 2.3.0-dev.6fe3f93

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 (50) hide show
  1. package/README.md +234 -37
  2. package/dist/cjs/formatter/emoji-data.cjs +87 -0
  3. package/dist/cjs/formatter/emoji-data.d.ts +18 -0
  4. package/dist/cjs/formatter/emoji-data.d.ts.map +1 -0
  5. package/dist/cjs/formatter/emoji-data.js.map +1 -0
  6. package/dist/cjs/formatter/emoji-selector.cjs +209 -0
  7. package/dist/cjs/formatter/emoji-selector.d.ts +74 -0
  8. package/dist/cjs/formatter/emoji-selector.d.ts.map +1 -0
  9. package/dist/cjs/formatter/emoji-selector.js.map +1 -0
  10. package/dist/cjs/formatter/index.cjs +6 -1
  11. package/dist/cjs/formatter/index.d.ts +2 -0
  12. package/dist/cjs/formatter/index.d.ts.map +1 -1
  13. package/dist/cjs/formatter/index.js.map +1 -1
  14. package/dist/cjs/formatter/message-formatter.cjs +11 -2
  15. package/dist/cjs/formatter/message-formatter.d.ts.map +1 -1
  16. package/dist/cjs/formatter/message-formatter.js.map +1 -1
  17. package/dist/cjs/index.cjs +5 -1
  18. package/dist/cjs/index.d.ts +2 -1
  19. package/dist/cjs/index.d.ts.map +1 -1
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/logger/core.cjs +10 -0
  22. package/dist/cjs/logger/core.d.ts.map +1 -1
  23. package/dist/cjs/logger/core.js.map +1 -1
  24. package/dist/cjs/types/index.d.ts +29 -0
  25. package/dist/cjs/types/index.d.ts.map +1 -1
  26. package/dist/esm/formatter/emoji-data.d.ts +18 -0
  27. package/dist/esm/formatter/emoji-data.d.ts.map +1 -0
  28. package/dist/esm/formatter/emoji-data.js +84 -0
  29. package/dist/esm/formatter/emoji-data.js.map +1 -0
  30. package/dist/esm/formatter/emoji-selector.d.ts +74 -0
  31. package/dist/esm/formatter/emoji-selector.d.ts.map +1 -0
  32. package/dist/esm/formatter/emoji-selector.js +205 -0
  33. package/dist/esm/formatter/emoji-selector.js.map +1 -0
  34. package/dist/esm/formatter/index.d.ts +2 -0
  35. package/dist/esm/formatter/index.d.ts.map +1 -1
  36. package/dist/esm/formatter/index.js +2 -0
  37. package/dist/esm/formatter/index.js.map +1 -1
  38. package/dist/esm/formatter/message-formatter.d.ts.map +1 -1
  39. package/dist/esm/formatter/message-formatter.js +11 -2
  40. package/dist/esm/formatter/message-formatter.js.map +1 -1
  41. package/dist/esm/index.d.ts +2 -1
  42. package/dist/esm/index.d.ts.map +1 -1
  43. package/dist/esm/index.js +1 -0
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/logger/core.d.ts.map +1 -1
  46. package/dist/esm/logger/core.js +11 -1
  47. package/dist/esm/logger/core.js.map +1 -1
  48. package/dist/esm/types/index.d.ts +29 -0
  49. package/dist/esm/types/index.d.ts.map +1 -1
  50. package/package.json +3 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji-data.d.ts","sourceRoot":"","sources":["../../../src/formatter/emoji-data.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,YAAY,EAsFxC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,EAAE,MAAM,CAMtF,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Emoji data for context-aware logging
3
+ * Based on gitmoji.dev emoji set
4
+ * Each entry maps emoji to keywords that help identify when to use it
5
+ */
6
+ /**
7
+ * Curated emoji mappings for context-aware logging
8
+ * Based on the gitmoji set from https://gitmoji.dev
9
+ * Ordered by specificity - more specific keywords first
10
+ */
11
+ export const EMOJI_MAPPINGS = [
12
+ // More specific contexts first
13
+ // Database (specific)
14
+ { emoji: '๐Ÿ—ƒ๏ธ', code: ':card_file_box:', description: 'Database related', keywords: ['database', 'db', 'sql', 'query', 'table', 'schema', 'migration', 'mongo', 'postgres', 'mysql'] },
15
+ // Deployment and releases (specific)
16
+ { emoji: '๐Ÿš€', code: ':rocket:', description: 'Deploy or release', keywords: ['deploy', 'deployed', 'deployment', 'release', 'launched', 'production'] },
17
+ // Performance (specific)
18
+ { emoji: 'โšก๏ธ', code: ':zap:', description: 'Improve performance', keywords: ['performance', 'speed', 'optimize', 'fast', 'slow', 'latency', 'throughput'] },
19
+ // Security (specific)
20
+ { emoji: '๐Ÿ”’๏ธ', code: ':lock:', description: 'Fix security issues', keywords: ['security', 'secure', 'vulnerability', 'exploit', 'auth', 'authentication', 'authorization', 'permission'] },
21
+ // Critical issues (specific)
22
+ { emoji: '๐Ÿš‘๏ธ', code: ':ambulance:', description: 'Critical hotfix', keywords: ['critical', 'hotfix', 'urgent', 'emergency', 'crash', 'fatal'] },
23
+ // Bugs and fixes (specific)
24
+ { emoji: '๐Ÿ›', code: ':bug:', description: 'Fix a bug', keywords: ['bug', 'fix', 'fixed', 'fixing', 'defect', 'issue'] },
25
+ // Less specific/generic contexts last
26
+ // Errors and failures (generic)
27
+ { emoji: 'โŒ', code: ':x:', description: 'Error or failure', keywords: ['error', 'fail', 'failed', 'failure', 'exception', 'reject'] },
28
+ { emoji: '๐Ÿ”ฅ', code: ':fire:', description: 'Remove code or files', keywords: ['remove', 'delete', 'deprecated', 'obsolete'] },
29
+ { emoji: '๐ŸŒ', code: ':snail:', description: 'Slow performance', keywords: ['timeout', 'hang', 'freeze'] },
30
+ { emoji: '๐Ÿ”“๏ธ', code: ':unlock:', description: 'Unlock or access', keywords: ['unlock', 'access', 'grant', 'allow'] },
31
+ { emoji: '๐Ÿ’พ', code: ':floppy_disk:', description: 'Save or persist data', keywords: ['save', 'saved', 'saving', 'persist', 'write', 'store'] },
32
+ { emoji: '๐ŸŽ‰', code: ':tada:', description: 'Initial commit or milestone', keywords: ['initial', 'milestone', 'celebrate', 'success', 'complete'] },
33
+ // Configuration
34
+ { emoji: '๐Ÿ”ง', code: ':wrench:', description: 'Configuration changes', keywords: ['config', 'configuration', 'setting', 'settings', 'configure'] },
35
+ { emoji: 'โš™๏ธ', code: ':gear:', description: 'Configuration or settings', keywords: ['setup', 'init', 'initialize'] },
36
+ // API and network
37
+ { emoji: '๐ŸŒ', code: ':globe_with_meridians:', description: 'Network or internet', keywords: ['network', 'internet', 'http', 'https', 'request', 'response', 'api', 'endpoint'] },
38
+ { emoji: '๐Ÿ”Œ', code: ':electric_plug:', description: 'Connection or plugin', keywords: ['connect', 'connection', 'disconnect', 'plugin', 'integration'] },
39
+ // Testing
40
+ { emoji: 'โœ…', code: ':white_check_mark:', description: 'Tests passing', keywords: ['tests', 'testing', 'pass', 'passed', 'validation', 'validate'] },
41
+ { emoji: '๐Ÿงช', code: ':test_tube:', description: 'Running tests', keywords: ['experiment', 'trial', 'spec'] },
42
+ // Documentation
43
+ { emoji: '๐Ÿ“', code: ':memo:', description: 'Add or update documentation', keywords: ['document', 'documentation', 'docs', 'readme', 'comment'] },
44
+ { emoji: '๐Ÿ’ก', code: ':bulb:', description: 'New idea or insight', keywords: ['idea', 'insight', 'suggestion', 'tip', 'hint'] },
45
+ // Dependencies
46
+ { emoji: 'โž•', code: ':heavy_plus_sign:', description: 'Add dependency', keywords: ['add', 'added', 'adding', 'install', 'dependency', 'package'] },
47
+ { emoji: 'โž–', code: ':heavy_minus_sign:', description: 'Remove dependency', keywords: ['uninstall', 'removed'] },
48
+ { emoji: 'โฌ†๏ธ', code: ':arrow_up:', description: 'Upgrade dependencies', keywords: ['upgrade', 'update', 'updated'] },
49
+ { emoji: 'โฌ‡๏ธ', code: ':arrow_down:', description: 'Downgrade dependencies', keywords: ['downgrade', 'rollback'] },
50
+ // Files and structure
51
+ { emoji: '๐Ÿ“ฆ', code: ':package:', description: 'Update compiled files', keywords: ['package', 'build', 'compile', 'bundle'] },
52
+ { emoji: '๐Ÿšš', code: ':truck:', description: 'Move or rename files', keywords: ['move', 'moved', 'rename', 'renamed', 'relocate'] },
53
+ // Work in progress
54
+ { emoji: '๐Ÿšง', code: ':construction:', description: 'Work in progress', keywords: ['wip', 'progress', 'working', 'ongoing', 'incomplete'] },
55
+ // Breaking changes
56
+ { emoji: '๐Ÿ’ฅ', code: ':boom:', description: 'Breaking changes', keywords: ['breaking', 'break', 'incompatible'] },
57
+ // Accessibility
58
+ { emoji: 'โ™ฟ๏ธ', code: ':wheelchair:', description: 'Improve accessibility', keywords: ['accessibility', 'a11y', 'accessible'] },
59
+ // Internationalization
60
+ { emoji: '๐ŸŒ', code: ':earth_africa:', description: 'Internationalization', keywords: ['i18n', 'localization', 'l10n', 'translation', 'language'] },
61
+ // UI and styling
62
+ { emoji: '๐Ÿ’„', code: ':lipstick:', description: 'Update UI and style', keywords: ['ui', 'style', 'css', 'design', 'interface', 'layout'] },
63
+ { emoji: '๐ŸŽจ', code: ':art:', description: 'Improve structure', keywords: ['refactor', 'refactoring', 'restructure', 'format'] },
64
+ // Logging and monitoring
65
+ { emoji: '๐Ÿ”Š', code: ':loud_sound:', description: 'Add or update logs', keywords: ['logging', 'trace'] },
66
+ { emoji: '๐Ÿ”‡', code: ':mute:', description: 'Remove logs', keywords: ['silent', 'quiet', 'mute'] },
67
+ { emoji: '๐Ÿ“Š', code: ':bar_chart:', description: 'Analytics or metrics', keywords: ['analytics', 'metrics', 'stats', 'statistics', 'monitor', 'monitoring'] },
68
+ // Code review
69
+ { emoji: '๐Ÿ‘Œ', code: ':ok_hand:', description: 'Code review changes', keywords: ['review', 'approve', 'approved', 'lgtm'] },
70
+ // Catch-all for new features (put last)
71
+ { emoji: 'โœจ', code: ':sparkles:', description: 'New feature', keywords: ['feature', 'new', 'enhancement', 'improve', 'improved'] },
72
+ ];
73
+ /**
74
+ * Default fallback emoji for each log level
75
+ * These are used when no context-specific emoji matches
76
+ */
77
+ export const FALLBACK_EMOJI = {
78
+ DEBUG: '๐Ÿž',
79
+ INFO: 'โ„น๏ธ',
80
+ WARN: 'โš ๏ธ',
81
+ ERROR: 'โŒ',
82
+ LOG: 'โœ…'
83
+ };
84
+ //# sourceMappingURL=emoji-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji-data.js","sourceRoot":"","sources":["../../../src/formatter/emoji-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Emoji selector for context-aware logging
3
+ * Analyzes log messages to select appropriate emoji based on context
4
+ */
5
+ import { LogLevel, LogData, EmojiConfig } from '../types';
6
+ /**
7
+ * Emoji selector class
8
+ * Provides context-aware emoji selection for log messages
9
+ */
10
+ export declare class EmojiSelector {
11
+ private static config;
12
+ private static compiledMappings;
13
+ /**
14
+ * Configure the emoji selector
15
+ * @param config - Configuration options
16
+ */
17
+ static configure(config: Partial<EmojiConfig>): void;
18
+ /**
19
+ * Get current configuration
20
+ * @returns Current emoji configuration
21
+ */
22
+ static getConfig(): EmojiConfig;
23
+ /**
24
+ * Reset configuration to defaults
25
+ */
26
+ static reset(): void;
27
+ /**
28
+ * Get compiled emoji mappings with precompiled regex patterns
29
+ * This is cached to avoid recompiling regex on every log line
30
+ */
31
+ private static getCompiledMappings;
32
+ /**
33
+ * Select appropriate emoji based on log level and message content
34
+ * @param level - Log level
35
+ * @param message - Log message
36
+ * @param data - Optional log data
37
+ * @returns Selected emoji or empty string
38
+ */
39
+ static selectEmoji(level: LogLevel, message: string, data?: LogData): string;
40
+ /**
41
+ * Find emoji based on message and data context
42
+ * @param message - Log message
43
+ * @param data - Optional log data
44
+ * @returns Emoji if match found, null otherwise
45
+ */
46
+ private static findContextEmoji;
47
+ /**
48
+ * Prepare text for searching by combining message and data
49
+ * @param message - Log message
50
+ * @param data - Optional log data
51
+ * @returns Lowercase combined text
52
+ */
53
+ private static prepareSearchText;
54
+ /**
55
+ * Check if search text matches any of the precompiled regexes
56
+ * @param searchText - Lowercase text to search in
57
+ * @param regexes - Precompiled regex patterns
58
+ * @returns true if any regex matches
59
+ */
60
+ private static matchesWithCompiledRegexes;
61
+ /**
62
+ * Get fallback emoji for a given log level
63
+ * @param level - Log level
64
+ * @returns Fallback emoji for the level
65
+ */
66
+ private static getFallbackEmoji;
67
+ /**
68
+ * Convert LogLevel enum to string
69
+ * @param level - Log level
70
+ * @returns Level name as string
71
+ */
72
+ private static getLevelName;
73
+ }
74
+ //# sourceMappingURL=emoji-selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji-selector.d.ts","sourceRoot":"","sources":["../../../src/formatter/emoji-selector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAc1D;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,MAAM,CAInB;IAGF,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAuC;IAEtE;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IASpD;;;OAGG;IACH,MAAM,CAAC,SAAS,IAAI,WAAW;IAU/B;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;IAUpB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAsBlC;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM;IAW5E;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAc/B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAmBhC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAIzC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA8C/B;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;CAU5B"}
@@ -0,0 +1,205 @@
1
+ /**
2
+ * Emoji selector for context-aware logging
3
+ * Analyzes log messages to select appropriate emoji based on context
4
+ */
5
+ import { LogLevel } from '../types/index.js';
6
+ import { EMOJI_MAPPINGS, FALLBACK_EMOJI } from './emoji-data.js';
7
+ /**
8
+ * Emoji selector class
9
+ * Provides context-aware emoji selection for log messages
10
+ */
11
+ export class EmojiSelector {
12
+ /**
13
+ * Configure the emoji selector
14
+ * @param config - Configuration options
15
+ */
16
+ static configure(config) {
17
+ EmojiSelector.config = {
18
+ ...EmojiSelector.config,
19
+ ...config
20
+ };
21
+ // Invalidate compiled cache when config changes
22
+ EmojiSelector.compiledMappings = null;
23
+ }
24
+ /**
25
+ * Get current configuration
26
+ * @returns Current emoji configuration
27
+ */
28
+ static getConfig() {
29
+ const { customMappings = [], customFallbacks = {}, ...rest } = EmojiSelector.config;
30
+ return {
31
+ ...rest,
32
+ customMappings: [...customMappings],
33
+ customFallbacks: { ...customFallbacks }
34
+ };
35
+ }
36
+ /**
37
+ * Reset configuration to defaults
38
+ */
39
+ static reset() {
40
+ EmojiSelector.config = {
41
+ customMappings: [],
42
+ customFallbacks: {},
43
+ useCustomOnly: false
44
+ };
45
+ // Clear compiled cache
46
+ EmojiSelector.compiledMappings = null;
47
+ }
48
+ /**
49
+ * Get compiled emoji mappings with precompiled regex patterns
50
+ * This is cached to avoid recompiling regex on every log line
51
+ */
52
+ static getCompiledMappings() {
53
+ if (EmojiSelector.compiledMappings) {
54
+ return EmojiSelector.compiledMappings;
55
+ }
56
+ const { customMappings = [], useCustomOnly } = EmojiSelector.config;
57
+ const mappings = useCustomOnly ? customMappings : [...customMappings, ...EMOJI_MAPPINGS];
58
+ EmojiSelector.compiledMappings = mappings.map(mapping => ({
59
+ ...mapping,
60
+ regexes: mapping.keywords.map(keyword => {
61
+ // Escape regex metacharacters to prevent ReDoS and invalid patterns
62
+ const escapedKeyword = keyword.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
63
+ // Precompile regex for performance
64
+ // eslint-disable-next-line security/detect-non-literal-regexp -- Safe: keyword is escaped above to prevent ReDoS
65
+ return new RegExp(`\\b${escapedKeyword}\\b`, 'i');
66
+ })
67
+ }));
68
+ return EmojiSelector.compiledMappings;
69
+ }
70
+ /**
71
+ * Select appropriate emoji based on log level and message content
72
+ * @param level - Log level
73
+ * @param message - Log message
74
+ * @param data - Optional log data
75
+ * @returns Selected emoji or empty string
76
+ */
77
+ static selectEmoji(level, message, data) {
78
+ // Try to find context-aware emoji
79
+ const contextEmoji = EmojiSelector.findContextEmoji(message, data);
80
+ if (contextEmoji) {
81
+ return contextEmoji;
82
+ }
83
+ // Fall back to level-based emoji
84
+ return EmojiSelector.getFallbackEmoji(level);
85
+ }
86
+ /**
87
+ * Find emoji based on message and data context
88
+ * @param message - Log message
89
+ * @param data - Optional log data
90
+ * @returns Emoji if match found, null otherwise
91
+ */
92
+ static findContextEmoji(message, data) {
93
+ const searchText = EmojiSelector.prepareSearchText(message, data);
94
+ const compiledMappings = EmojiSelector.getCompiledMappings();
95
+ // Search through compiled mappings for keyword matches
96
+ for (const mapping of compiledMappings) {
97
+ if (EmojiSelector.matchesWithCompiledRegexes(searchText, mapping.regexes)) {
98
+ return mapping.emoji;
99
+ }
100
+ }
101
+ return null;
102
+ }
103
+ /**
104
+ * Prepare text for searching by combining message and data
105
+ * @param message - Log message
106
+ * @param data - Optional log data
107
+ * @returns Lowercase combined text
108
+ */
109
+ static prepareSearchText(message, data) {
110
+ let text = message.toLowerCase();
111
+ // If data is provided and is an object, include only keys for analysis
112
+ // Avoid expensive JSON.stringify on full object to optimize performance
113
+ if (data && typeof data === 'object') {
114
+ try {
115
+ const keys = Object.keys(data).join(' ').toLowerCase();
116
+ text += ' ' + keys;
117
+ }
118
+ catch {
119
+ // Ignore circular references or stringify errors
120
+ }
121
+ }
122
+ else if (data && typeof data === 'string') {
123
+ text += ' ' + data.toLowerCase();
124
+ }
125
+ return text;
126
+ }
127
+ /**
128
+ * Check if search text matches any of the precompiled regexes
129
+ * @param searchText - Lowercase text to search in
130
+ * @param regexes - Precompiled regex patterns
131
+ * @returns true if any regex matches
132
+ */
133
+ static matchesWithCompiledRegexes(searchText, regexes) {
134
+ return regexes.some(regex => regex.test(searchText));
135
+ }
136
+ /**
137
+ * Get fallback emoji for a given log level
138
+ * @param level - Log level
139
+ * @returns Fallback emoji for the level
140
+ */
141
+ static getFallbackEmoji(level) {
142
+ const levelName = EmojiSelector.getLevelName(level);
143
+ // Explicitly handle unknown levels: no emoji by default
144
+ if (levelName === 'UNKNOWN') {
145
+ return '';
146
+ }
147
+ const { customFallbacks = {} } = EmojiSelector.config;
148
+ // Check custom fallbacks first using safe property access
149
+ if (Object.prototype.hasOwnProperty.call(customFallbacks, levelName)) {
150
+ switch (levelName) {
151
+ case 'DEBUG':
152
+ return customFallbacks.DEBUG || '';
153
+ case 'INFO':
154
+ return customFallbacks.INFO || '';
155
+ case 'WARN':
156
+ return customFallbacks.WARN || '';
157
+ case 'ERROR':
158
+ return customFallbacks.ERROR || '';
159
+ case 'LOG':
160
+ return customFallbacks.LOG || '';
161
+ default:
162
+ // levelName is type-constrained, but default defensively returns empty
163
+ return '';
164
+ }
165
+ }
166
+ // Use default fallback with explicit switch
167
+ switch (levelName) {
168
+ case 'DEBUG':
169
+ return FALLBACK_EMOJI.DEBUG;
170
+ case 'INFO':
171
+ return FALLBACK_EMOJI.INFO;
172
+ case 'WARN':
173
+ return FALLBACK_EMOJI.WARN;
174
+ case 'ERROR':
175
+ return FALLBACK_EMOJI.ERROR;
176
+ case 'LOG':
177
+ return FALLBACK_EMOJI.LOG;
178
+ default:
179
+ return '';
180
+ }
181
+ }
182
+ /**
183
+ * Convert LogLevel enum to string
184
+ * @param level - Log level
185
+ * @returns Level name as string
186
+ */
187
+ static getLevelName(level) {
188
+ switch (level) {
189
+ case LogLevel.DEBUG: return 'DEBUG';
190
+ case LogLevel.INFO: return 'INFO';
191
+ case LogLevel.WARN: return 'WARN';
192
+ case LogLevel.ERROR: return 'ERROR';
193
+ case LogLevel.LOG: return 'LOG';
194
+ default: return 'UNKNOWN';
195
+ }
196
+ }
197
+ }
198
+ EmojiSelector.config = {
199
+ customMappings: [],
200
+ customFallbacks: {},
201
+ useCustomOnly: false
202
+ };
203
+ // Cache for precompiled regex patterns
204
+ EmojiSelector.compiledMappings = null;
205
+ //# sourceMappingURL=emoji-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji-selector.js","sourceRoot":"","sources":["../../../src/formatter/emoji-selector.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,7 @@ export { MessageFormatter } from './message-formatter';
6
6
  export { colors, colorScheme } from './colors';
7
7
  export { getTimestampComponents, formatTimestamp } from './timestamp';
8
8
  export { formatData, styleData } from './data-formatter';
9
+ export { EmojiSelector } from './emoji-selector';
10
+ export { EMOJI_MAPPINGS, FALLBACK_EMOJI } from './emoji-data';
9
11
  export { MessageFormatter as LogFormatter } from './message-formatter';
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formatter/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,gBAAgB,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formatter/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,OAAO,EAAE,gBAAgB,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
@@ -6,6 +6,8 @@ export { MessageFormatter } from './message-formatter.js';
6
6
  export { colors, colorScheme } from './colors.js';
7
7
  export { getTimestampComponents, formatTimestamp } from './timestamp.js';
8
8
  export { formatData, styleData } from './data-formatter.js';
9
+ export { EmojiSelector } from './emoji-selector.js';
10
+ export { EMOJI_MAPPINGS, FALLBACK_EMOJI } from './emoji-data.js';
9
11
  // Backward compatibility - maintain the original LogFormatter class interface
10
12
  export { MessageFormatter as LogFormatter } from './message-formatter.js';
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/formatter/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzD,8EAA8E;AAC9E,OAAO,EAAE,gBAAgB,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/formatter/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9D,8EAA8E;AAC9E,OAAO,EAAE,gBAAgB,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"message-formatter.d.ts","sourceRoot":"","sources":["../../../src/formatter/message-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAK9D;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAG3C;IAEF;;;;;;;;SAQK;IACL,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,eAAe,GAAG,MAAM;IA0CvG;;;;;;SAMK;IACL,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,eAAe,GAAG,MAAM;IA8BnF;;;;SAIK;IACL,OAAO,CAAC,MAAM,CAAC,YAAY;IAW3B;;;;;SAKK;IACL,OAAO,CAAC,MAAM,CAAC,aAAa;CAU7B"}
1
+ {"version":3,"file":"message-formatter.d.ts","sourceRoot":"","sources":["../../../src/formatter/message-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM9D;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAI3C;IAEF;;;;;;;;SAQK;IACL,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,eAAe,GAAG,MAAM;IAmDvG;;;;;;SAMK;IACL,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,eAAe,GAAG,MAAM;IA8BnF;;;;SAIK;IACL,OAAO,CAAC,MAAM,CAAC,YAAY;IAW3B;;;;;SAKK;IACL,OAAO,CAAC,MAAM,CAAC,aAAa;CAU7B"}
@@ -6,6 +6,7 @@ import { LogLevel } from '../types/index.js';
6
6
  import { colors, colorScheme } from './colors.js';
7
7
  import { getTimestampComponents, formatTimestamp } from './timestamp.js';
8
8
  import { formatData, styleData } from './data-formatter.js';
9
+ import { EmojiSelector } from './emoji-selector.js';
9
10
  /**
10
11
  * Core message formatter class
11
12
  * Provides the main formatting functionality for log messages
@@ -26,6 +27,9 @@ export class MessageFormatter {
26
27
  ...MessageFormatter.DEFAULT_FORMAT_CONFIG,
27
28
  ...formatConfig
28
29
  };
30
+ // Note: EmojiSelector configuration is handled at the Logger.configure() level
31
+ // to avoid invalidating the compiled regex cache on every log call.
32
+ // This preserves the performance optimization of regex precompilation.
29
33
  // Build timestamp string conditionally
30
34
  let timestamp = '';
31
35
  if (config.includeIsoTimestamp || config.includeLocalTime) {
@@ -46,8 +50,12 @@ export class MessageFormatter {
46
50
  const levelName = MessageFormatter.getLevelName(level);
47
51
  const levelColor = MessageFormatter.getLevelColor(level);
48
52
  const coloredLevel = `${levelColor}[${levelName}]${colors.reset}`;
53
+ // Select emoji based on context if includeEmoji is true (default)
54
+ const emoji = config.includeEmoji !== false ? EmojiSelector.selectEmoji(level, message, data) : '';
55
+ const emojiPart = emoji ? `[${emoji}]` : '';
49
56
  // Format the base message (level is always included as per requirements)
50
- let formattedMessage = `${timestamp}${coloredLevel}: ${message}`;
57
+ // Format: [TIMESTAMP][LEVEL][EMOJI]: message
58
+ let formattedMessage = `${timestamp}${coloredLevel}${emojiPart}: ${message}`;
51
59
  // Append data if provided
52
60
  if (data !== undefined) {
53
61
  const dataString = formatData(data);
@@ -128,6 +136,7 @@ export class MessageFormatter {
128
136
  */
129
137
  MessageFormatter.DEFAULT_FORMAT_CONFIG = {
130
138
  includeIsoTimestamp: true,
131
- includeLocalTime: true
139
+ includeLocalTime: true,
140
+ includeEmoji: true
132
141
  };
133
142
  //# sourceMappingURL=message-formatter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-formatter.js","sourceRoot":"","sources":["../../../src/formatter/message-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-formatter.js","sourceRoot":"","sources":["../../../src/formatter/message-formatter.ts"],"names":[],"mappings":"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"}
@@ -174,7 +174,8 @@ export declare const LogEngine: {
174
174
  withoutRedaction: () => ILogEngineWithoutRedaction;
175
175
  };
176
176
  export { LogMode, LogLevel } from './types';
177
- export type { LoggerConfig, LogFormatConfig, RedactionConfig, LogOutputHandler, BuiltInOutputHandler, OutputTarget, FileOutputConfig, HttpOutputConfig, AdvancedOutputConfig, EnhancedOutputTarget } from './types';
177
+ export type { LoggerConfig, LogFormatConfig, RedactionConfig, LogOutputHandler, BuiltInOutputHandler, OutputTarget, FileOutputConfig, HttpOutputConfig, AdvancedOutputConfig, EnhancedOutputTarget, EmojiConfig, EmojiMapping } from './types';
178
178
  export { DataRedactor, defaultRedactionConfig, RedactionController } from './redaction';
179
+ export { EmojiSelector, EMOJI_MAPPINGS, FALLBACK_EMOJI } from './formatter';
179
180
  export default LogEngine;
180
181
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,0BAA0B,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAMlG;;;GAGG;AACH,eAAO,MAAM,SAAS;IACpB;;;;;;;SAOK;wBACe,OAAO,CAAC,YAAY,CAAC,KAAG,IAAI;IAGhD;;;;;;;;;SASK;qBACY,MAAM,SAAS,OAAO,KAAG,IAAI;IAE9C;;;;;;;;;SASK;oBACW,MAAM,SAAS,OAAO,KAAG,IAAI;IAE7C;;;;;;;;;SASK;oBACW,MAAM,SAAS,OAAO,KAAG,IAAI;IAE7C;;;;;;;;;SASK;qBACY,MAAM,SAAS,OAAO,KAAG,IAAI;IAE9C;;;;;;;;;SASK;mBACU,MAAM,SAAS,OAAO,KAAG,IAAI;IAG5C;;;;;SAKK;wBACe,MAAM,SAAS,OAAO,KAAG,IAAI;IAEjD;;;;;SAKK;uBACc,MAAM,SAAS,OAAO,KAAG,IAAI;IAEhD;;;;;SAKK;uBACc,MAAM,SAAS,OAAO,KAAG,IAAI;IAEhD;;;;;SAKK;wBACe,MAAM,SAAS,OAAO,KAAG,IAAI;IAEjD;;;;;SAKK;sBACa,MAAM,SAAS,OAAO,KAAG,IAAI;IAG/C;;;SAGK;iCACwB,OAAO,CAAC,eAAe,CAAC,KAAG,IAAI;IAE5D;;;SAGK;kCACuB,IAAI;IAEhC;;SAEK;gCACqB,IAAI;IAE9B;;;SAGK;8BACmB,eAAe;IAGvC;;;SAGK;2CACkC,MAAM,EAAE,KAAG,IAAI;IAEtD;;SAEK;wCAC6B,IAAI;IAEtC;;;SAGK;iCACwB,MAAM,EAAE,KAAG,IAAI;IAE5C;;;;SAIK;oCAC2B,MAAM,KAAG,OAAO;IAEhD;;;;;;;SAOK;4BACiB,0BAA0B;CAOjD,CAAC;AAGF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,YAAY,EACV,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EAEZ,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGxF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,0BAA0B,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAMlG;;;GAGG;AACH,eAAO,MAAM,SAAS;IACpB;;;;;;;SAOK;wBACe,OAAO,CAAC,YAAY,CAAC,KAAG,IAAI;IAGhD;;;;;;;;;SASK;qBACY,MAAM,SAAS,OAAO,KAAG,IAAI;IAE9C;;;;;;;;;SASK;oBACW,MAAM,SAAS,OAAO,KAAG,IAAI;IAE7C;;;;;;;;;SASK;oBACW,MAAM,SAAS,OAAO,KAAG,IAAI;IAE7C;;;;;;;;;SASK;qBACY,MAAM,SAAS,OAAO,KAAG,IAAI;IAE9C;;;;;;;;;SASK;mBACU,MAAM,SAAS,OAAO,KAAG,IAAI;IAG5C;;;;;SAKK;wBACe,MAAM,SAAS,OAAO,KAAG,IAAI;IAEjD;;;;;SAKK;uBACc,MAAM,SAAS,OAAO,KAAG,IAAI;IAEhD;;;;;SAKK;uBACc,MAAM,SAAS,OAAO,KAAG,IAAI;IAEhD;;;;;SAKK;wBACe,MAAM,SAAS,OAAO,KAAG,IAAI;IAEjD;;;;;SAKK;sBACa,MAAM,SAAS,OAAO,KAAG,IAAI;IAG/C;;;SAGK;iCACwB,OAAO,CAAC,eAAe,CAAC,KAAG,IAAI;IAE5D;;;SAGK;kCACuB,IAAI;IAEhC;;SAEK;gCACqB,IAAI;IAE9B;;;SAGK;8BACmB,eAAe;IAGvC;;;SAGK;2CACkC,MAAM,EAAE,KAAG,IAAI;IAEtD;;SAEK;wCAC6B,IAAI;IAEtC;;;SAGK;iCACwB,MAAM,EAAE,KAAG,IAAI;IAE5C;;;;SAIK;oCAC2B,MAAM,KAAG,OAAO;IAEhD;;;;;;;SAOK;4BACiB,0BAA0B;CAOjD,CAAC;AAGF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,YAAY,EACV,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EAEZ,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EAEpB,WAAW,EACX,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG5E,eAAe,SAAS,CAAC"}
package/dist/esm/index.js CHANGED
@@ -189,6 +189,7 @@ export const LogEngine = {
189
189
  // Re-export types and utilities for external use
190
190
  export { LogMode, LogLevel } from './types/index.js';
191
191
  export { DataRedactor, defaultRedactionConfig, RedactionController } from './redaction/index.js';
192
+ export { EmojiSelector, EMOJI_MAPPINGS, FALLBACK_EMOJI } from './formatter/index.js';
192
193
  // Default export for convenience
193
194
  export default LogEngine;
194
195
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/logger/core.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAqB,YAAY,EAAwD,OAAO,EAAE,MAAM,UAAU,CAAC;AAO1H;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,YAAY,CAA6B;IAEjD;;SAEK;;IAKL;;;OAGG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAKrB;;SAEK;IAEL,OAAO,CAAC,iBAAiB;IAsCzB;;;;;;;;SAQK;IACL,OAAO,CAAC,mBAAmB;IA6C3B;;;;;;;SAOK;IACL,OAAO,CAAC,cAAc;IAMtB;;;;;;;SAOK;IACL,OAAO,CAAC,sBAAsB;IAM9B;;;;SAIK;IACL,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAa9C;;;SAGK;IACL,SAAS,IAAI,YAAY;IAIzB;;;;SAIK;IACL,OAAO,CAAC,SAAS;IAMjB;;;;;;;;;;SAUK;IACL,OAAO,CAAC,aAAa;IAkDrB;;;;;;SAMK;IACL,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ5C;;;;;;SAMK;IACL,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ3C;;;;;;SAMK;IACL,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ3C;;;;;;SAMK;IACL,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ5C;;;;;;;SAOK;IACL,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAS1C;;;;SAIK;IACL,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAO/C;;;;SAIK;IACL,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAO9C;;;;SAIK;IACL,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAO9C;;;;SAIK;IACL,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAO/C;;;;SAIK;IACL,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;CAM9C"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/logger/core.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAqB,YAAY,EAAwD,OAAO,EAAE,MAAM,UAAU,CAAC;AAO1H;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,YAAY,CAA6B;IAEjD;;SAEK;;IAKL;;;OAGG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAKrB;;SAEK;IAEL,OAAO,CAAC,iBAAiB;IAsCzB;;;;;;;;SAQK;IACL,OAAO,CAAC,mBAAmB;IA6C3B;;;;;;;SAOK;IACL,OAAO,CAAC,cAAc;IAMtB;;;;;;;SAOK;IACL,OAAO,CAAC,sBAAsB;IAM9B;;;;SAIK;IACL,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAuB9C;;;SAGK;IACL,SAAS,IAAI,YAAY;IAIzB;;;;SAIK;IACL,OAAO,CAAC,SAAS;IAMjB;;;;;;;;;;SAUK;IACL,OAAO,CAAC,aAAa;IAkDrB;;;;;;SAMK;IACL,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ5C;;;;;;SAMK;IACL,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ3C;;;;;;SAMK;IACL,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ3C;;;;;;SAMK;IACL,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ5C;;;;;;;SAOK;IACL,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAS1C;;;;SAIK;IACL,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAO/C;;;;SAIK;IACL,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAO9C;;;;SAIK;IACL,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAO9C;;;;SAIK;IACL,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAO/C;;;;SAIK;IACL,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;CAM9C"}
@@ -6,7 +6,7 @@
6
6
  * Includes automatic data redaction for sensitive information
7
7
  */
8
8
  import { LogLevel, LogMode } from '../types/index.js';
9
- import { LogFormatter } from '../formatter/index.js';
9
+ import { LogFormatter, EmojiSelector } from '../formatter/index.js';
10
10
  import { DataRedactor, RedactionController, defaultRedactionConfig } from '../redaction/index.js';
11
11
  import { LoggerConfigManager } from './config.js';
12
12
  import { LogFilter } from './filtering.js';
@@ -188,6 +188,16 @@ export class Logger {
188
188
  ...defaultRedactionConfig,
189
189
  ...RedactionController.getEnvironmentConfig()
190
190
  });
191
+ // Configure emoji selector once when logger config changes
192
+ // This allows the compiled regex cache to persist across log calls
193
+ const currentConfig = this.configManager.getConfig();
194
+ if (currentConfig.format?.emoji) {
195
+ EmojiSelector.configure(currentConfig.format.emoji);
196
+ }
197
+ else {
198
+ // Reset to defaults when no emoji config is provided
199
+ EmojiSelector.reset();
200
+ }
191
201
  }
192
202
  /**
193
203
  * Get current logger configuration