76 lines
4.8 KiB
JavaScript
76 lines
4.8 KiB
JavaScript
|
|
import * as plugins from './plugins.js';
|
||
|
|
import { randomUUID } from 'node:crypto';
|
||
|
|
// Map NODE_ENV to valid TEnvironment
|
||
|
|
const nodeEnv = process.env.NODE_ENV || 'production';
|
||
|
|
const envMap = {
|
||
|
|
'development': 'local',
|
||
|
|
'test': 'test',
|
||
|
|
'staging': 'staging',
|
||
|
|
'production': 'production'
|
||
|
|
};
|
||
|
|
// Default Smartlog instance
|
||
|
|
const baseLogger = new plugins.smartlog.Smartlog({
|
||
|
|
logContext: {
|
||
|
|
environment: envMap[nodeEnv] || 'production',
|
||
|
|
runtime: 'node',
|
||
|
|
zone: 'serve.zone',
|
||
|
|
}
|
||
|
|
});
|
||
|
|
// Extended logger compatible with the original enhanced logger API
|
||
|
|
class StandardLogger {
|
||
|
|
defaultContext = {};
|
||
|
|
correlationId = null;
|
||
|
|
constructor() { }
|
||
|
|
// Log methods
|
||
|
|
log(level, message, context = {}) {
|
||
|
|
const combinedContext = {
|
||
|
|
...this.defaultContext,
|
||
|
|
...context
|
||
|
|
};
|
||
|
|
if (this.correlationId) {
|
||
|
|
combinedContext.correlation_id = this.correlationId;
|
||
|
|
}
|
||
|
|
baseLogger.log(level, message, combinedContext);
|
||
|
|
}
|
||
|
|
error(message, context = {}) {
|
||
|
|
this.log('error', message, context);
|
||
|
|
}
|
||
|
|
warn(message, context = {}) {
|
||
|
|
this.log('warn', message, context);
|
||
|
|
}
|
||
|
|
info(message, context = {}) {
|
||
|
|
this.log('info', message, context);
|
||
|
|
}
|
||
|
|
success(message, context = {}) {
|
||
|
|
this.log('success', message, context);
|
||
|
|
}
|
||
|
|
debug(message, context = {}) {
|
||
|
|
this.log('debug', message, context);
|
||
|
|
}
|
||
|
|
// Context management
|
||
|
|
setContext(context, overwrite = false) {
|
||
|
|
if (overwrite) {
|
||
|
|
this.defaultContext = context;
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
this.defaultContext = {
|
||
|
|
...this.defaultContext,
|
||
|
|
...context
|
||
|
|
};
|
||
|
|
}
|
||
|
|
}
|
||
|
|
// Correlation ID management
|
||
|
|
setCorrelationId(id = null) {
|
||
|
|
this.correlationId = id || randomUUID();
|
||
|
|
return this.correlationId;
|
||
|
|
}
|
||
|
|
getCorrelationId() {
|
||
|
|
return this.correlationId;
|
||
|
|
}
|
||
|
|
clearCorrelationId() {
|
||
|
|
this.correlationId = null;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
// Export a singleton instance
|
||
|
|
export const logger = new StandardLogger();
|
||
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFekMscUNBQXFDO0FBQ3JDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxJQUFJLFlBQVksQ0FBQztBQUNyRCxNQUFNLE1BQU0sR0FBZ0U7SUFDMUUsYUFBYSxFQUFFLE9BQU87SUFDdEIsTUFBTSxFQUFFLE1BQU07SUFDZCxTQUFTLEVBQUUsU0FBUztJQUNwQixZQUFZLEVBQUUsWUFBWTtDQUMzQixDQUFDO0FBRUYsNEJBQTRCO0FBQzVCLE1BQU0sVUFBVSxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDL0MsVUFBVSxFQUFFO1FBQ1YsV0FBVyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxZQUFZO1FBQzVDLE9BQU8sRUFBRSxNQUFNO1FBQ2YsSUFBSSxFQUFFLFlBQVk7S0FDbkI7Q0FDRixDQUFDLENBQUM7QUFFSCxtRUFBbUU7QUFDbkUsTUFBTSxjQUFjO0lBQ1YsY0FBYyxHQUF3QixFQUFFLENBQUM7SUFDekMsYUFBYSxHQUFrQixJQUFJLENBQUM7SUFFNUMsZ0JBQWUsQ0FBQztJQUVoQixjQUFjO0lBQ1AsR0FBRyxDQUFDLEtBQXNELEVBQUUsT0FBZSxFQUFFLFVBQStCLEVBQUU7UUFDbkgsTUFBTSxlQUFlLEdBQUc7WUFDdEIsR0FBRyxJQUFJLENBQUMsY0FBYztZQUN0QixHQUFHLE9BQU87U0FDWCxDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsZUFBZSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3RELENBQUM7UUFFRCxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFlLEVBQUUsVUFBK0IsRUFBRTtRQUM3RCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLElBQUksQ0FBQyxPQUFlLEVBQUUsVUFBK0IsRUFBRTtRQUM1RCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLElBQUksQ0FBQyxPQUFlLEVBQUUsVUFBK0IsRUFBRTtRQUM1RCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLE9BQU8sQ0FBQyxPQUFlLEVBQUUsVUFBK0IsRUFBRTtRQUMvRCxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFlLEVBQUUsVUFBK0IsRUFBRTtRQUM3RCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELHFCQUFxQjtJQUNkLFVBQVUsQ0FBQyxPQUE0QixFQUFFLFlBQXFCLEtBQUs7UUFDeEUsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRztnQkFDcEIsR0FBRyxJQUFJLENBQUMsY0FBYztnQkFDdEIsR0FBRyxPQUFPO2FBQ1gsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsNEJBQTRCO0lBQ3JCLGdCQUFnQixDQUFDLEtBQW9CLElBQUk7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLElBQUksVUFBVSxFQUFFLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBRUQsOEJBQThCO0FBQzlCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDIn0=
|