@wgtechlabs/log-engine 2.2.2 → 2.3.0-dev.8fdf09c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +234 -37
- package/dist/cjs/formatter/emoji-data.cjs +87 -0
- package/dist/cjs/formatter/emoji-data.d.ts +18 -0
- package/dist/cjs/formatter/emoji-data.d.ts.map +1 -0
- package/dist/cjs/formatter/emoji-data.js.map +1 -0
- package/dist/cjs/formatter/emoji-selector.cjs +209 -0
- package/dist/cjs/formatter/emoji-selector.d.ts +74 -0
- package/dist/cjs/formatter/emoji-selector.d.ts.map +1 -0
- package/dist/cjs/formatter/emoji-selector.js.map +1 -0
- package/dist/cjs/formatter/index.cjs +6 -1
- package/dist/cjs/formatter/index.d.ts +2 -0
- package/dist/cjs/formatter/index.d.ts.map +1 -1
- package/dist/cjs/formatter/index.js.map +1 -1
- package/dist/cjs/formatter/message-formatter.cjs +24 -3
- package/dist/cjs/formatter/message-formatter.d.ts +3 -2
- package/dist/cjs/formatter/message-formatter.d.ts.map +1 -1
- package/dist/cjs/formatter/message-formatter.js.map +1 -1
- package/dist/cjs/index.cjs +36 -16
- package/dist/cjs/index.d.ts +29 -12
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/logger/core.cjs +43 -22
- package/dist/cjs/logger/core.d.ts +22 -11
- package/dist/cjs/logger/core.d.ts.map +1 -1
- package/dist/cjs/logger/core.js.map +1 -1
- package/dist/cjs/types/index.d.ts +59 -15
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/esm/formatter/emoji-data.d.ts +18 -0
- package/dist/esm/formatter/emoji-data.d.ts.map +1 -0
- package/dist/esm/formatter/emoji-data.js +84 -0
- package/dist/esm/formatter/emoji-data.js.map +1 -0
- package/dist/esm/formatter/emoji-selector.d.ts +74 -0
- package/dist/esm/formatter/emoji-selector.d.ts.map +1 -0
- package/dist/esm/formatter/emoji-selector.js +205 -0
- package/dist/esm/formatter/emoji-selector.js.map +1 -0
- package/dist/esm/formatter/index.d.ts +2 -0
- package/dist/esm/formatter/index.d.ts.map +1 -1
- package/dist/esm/formatter/index.js +2 -0
- package/dist/esm/formatter/index.js.map +1 -1
- package/dist/esm/formatter/message-formatter.d.ts +3 -2
- package/dist/esm/formatter/message-formatter.d.ts.map +1 -1
- package/dist/esm/formatter/message-formatter.js +24 -3
- package/dist/esm/formatter/message-formatter.js.map +1 -1
- package/dist/esm/index.d.ts +29 -12
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +32 -15
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/logger/core.d.ts +22 -11
- package/dist/esm/logger/core.d.ts.map +1 -1
- package/dist/esm/logger/core.js +44 -23
- package/dist/esm/logger/core.js.map +1 -1
- package/dist/esm/types/index.d.ts +59 -15
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/types/index.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAyBH;;;GAGG;AACH,IAAY,QAWX;AAXD,WAAY,QAAQ;IAChB,qFAAqF;IACrF,yCAAS,CAAA;IACT,2DAA2D;IAC3D,uCAAQ,CAAA;IACR,kEAAkE;IAClE,uCAAQ,CAAA;IACR,sEAAsE;IACtE,yCAAS,CAAA;IACT,kGAAkG;IAClG,sCAAQ,CAAA;AACZ,CAAC,EAXW,QAAQ,wBAAR,QAAQ,QAWnB;AAED;;;GAGG;AACH,IAAY,OAaX;AAbD,WAAY,OAAO;IACf,kEAAkE;IAClE,uCAAS,CAAA;IACT,uDAAuD;IACvD,qCAAQ,CAAA;IACR,gDAAgD;IAChD,qCAAQ,CAAA;IACR,0CAA0C;IAC1C,uCAAS,CAAA;IACT,8CAA8C;IAC9C,yCAAU,CAAA;IACV,kDAAkD;IAClD,mCAAO,CAAA;AACX,CAAC,EAbW,OAAO,uBAAP,OAAO,QAalB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
import { EmojiMapping } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Curated emoji mappings for context-aware logging
|
|
9
|
+
* Based on the gitmoji set from https://gitmoji.dev
|
|
10
|
+
* Ordered by specificity - more specific keywords first
|
|
11
|
+
*/
|
|
12
|
+
export declare const EMOJI_MAPPINGS: EmojiMapping[];
|
|
13
|
+
/**
|
|
14
|
+
* Default fallback emoji for each log level
|
|
15
|
+
* These are used when no context-specific emoji matches
|
|
16
|
+
*/
|
|
17
|
+
export declare const FALLBACK_EMOJI: Record<'DEBUG' | 'INFO' | 'WARN' | 'ERROR' | 'LOG', string>;
|
|
18
|
+
//# sourceMappingURL=emoji-data.d.ts.map
|
|
@@ -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;
|
|
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;
|
|
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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Core message formatting functionality
|
|
3
3
|
* Handles the main log message formatting with colors, timestamps, and levels
|
|
4
4
|
*/
|
|
5
|
-
import { LogLevel, LogData, LogFormatConfig } from '../types';
|
|
5
|
+
import { LogLevel, LogData, LogFormatConfig, LogCallOptions } from '../types';
|
|
6
6
|
/**
|
|
7
7
|
* Core message formatter class
|
|
8
8
|
* Provides the main formatting functionality for log messages
|
|
@@ -19,9 +19,10 @@ export declare class MessageFormatter {
|
|
|
19
19
|
* @param message - The message content to format
|
|
20
20
|
* @param data - Optional data object to include in the log output
|
|
21
21
|
* @param formatConfig - Optional format configuration to control element inclusion
|
|
22
|
+
* @param options - Optional per-call options (e.g., emoji override)
|
|
22
23
|
* @returns Formatted string with ANSI colors and timestamps
|
|
23
24
|
*/
|
|
24
|
-
static format(level: LogLevel, message: string, data?: LogData, formatConfig?: LogFormatConfig): string;
|
|
25
|
+
static format(level: LogLevel, message: string, data?: LogData, formatConfig?: LogFormatConfig, options?: LogCallOptions): string;
|
|
25
26
|
/**
|
|
26
27
|
* Formats a Log Engine system message with [LOG ENGINE] prefix instead of log levels
|
|
27
28
|
* Used for internal messages like deprecation warnings that should be distinguished from user logs
|
|
@@ -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;
|
|
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,cAAc,EAAE,MAAM,UAAU,CAAC;AAM9E;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAI3C;IAEF;;;;;;;;;SASK;IACL,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM;IA6DjI;;;;;;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
|
|
@@ -18,14 +19,18 @@ export class MessageFormatter {
|
|
|
18
19
|
* @param message - The message content to format
|
|
19
20
|
* @param data - Optional data object to include in the log output
|
|
20
21
|
* @param formatConfig - Optional format configuration to control element inclusion
|
|
22
|
+
* @param options - Optional per-call options (e.g., emoji override)
|
|
21
23
|
* @returns Formatted string with ANSI colors and timestamps
|
|
22
24
|
*/
|
|
23
|
-
static format(level, message, data, formatConfig) {
|
|
25
|
+
static format(level, message, data, formatConfig, options) {
|
|
24
26
|
// Merge provided format configuration with the default configuration
|
|
25
27
|
const config = {
|
|
26
28
|
...MessageFormatter.DEFAULT_FORMAT_CONFIG,
|
|
27
29
|
...formatConfig
|
|
28
30
|
};
|
|
31
|
+
// Note: EmojiSelector configuration is handled at the Logger.configure() level
|
|
32
|
+
// to avoid invalidating the compiled regex cache on every log call.
|
|
33
|
+
// This preserves the performance optimization of regex precompilation.
|
|
29
34
|
// Build timestamp string conditionally
|
|
30
35
|
let timestamp = '';
|
|
31
36
|
if (config.includeIsoTimestamp || config.includeLocalTime) {
|
|
@@ -46,8 +51,23 @@ export class MessageFormatter {
|
|
|
46
51
|
const levelName = MessageFormatter.getLevelName(level);
|
|
47
52
|
const levelColor = MessageFormatter.getLevelColor(level);
|
|
48
53
|
const coloredLevel = `${levelColor}[${levelName}]${colors.reset}`;
|
|
54
|
+
// Select emoji based on context if includeEmoji is true (default)
|
|
55
|
+
// Use override emoji from options if provided (including empty string to suppress), otherwise use EmojiSelector
|
|
56
|
+
let emoji = '';
|
|
57
|
+
if (config.includeEmoji !== false) {
|
|
58
|
+
if (options?.emoji !== undefined) {
|
|
59
|
+
// Use override emoji (even if empty string)
|
|
60
|
+
emoji = options.emoji;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// Auto-select emoji
|
|
64
|
+
emoji = EmojiSelector.selectEmoji(level, message, data);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const emojiPart = emoji ? `[${emoji}]` : '';
|
|
49
68
|
// Format the base message (level is always included as per requirements)
|
|
50
|
-
|
|
69
|
+
// Format: [TIMESTAMP][LEVEL][EMOJI]: message
|
|
70
|
+
let formattedMessage = `${timestamp}${coloredLevel}${emojiPart}: ${message}`;
|
|
51
71
|
// Append data if provided
|
|
52
72
|
if (data !== undefined) {
|
|
53
73
|
const dataString = formatData(data);
|
|
@@ -128,6 +148,7 @@ export class MessageFormatter {
|
|
|
128
148
|
*/
|
|
129
149
|
MessageFormatter.DEFAULT_FORMAT_CONFIG = {
|
|
130
150
|
includeIsoTimestamp: true,
|
|
131
|
-
includeLocalTime: true
|
|
151
|
+
includeLocalTime: true,
|
|
152
|
+
includeEmoji: true
|
|
132
153
|
};
|
|
133
154
|
//# sourceMappingURL=message-formatter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-formatter.js","sourceRoot":"","sources":["../../../src/formatter/message-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"message-formatter.js","sourceRoot":"","sources":["../../../src/formatter/message-formatter.ts"],"names":[],"mappings":"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"}
|