added start worker delay

This commit is contained in:
Boki 2025-06-21 07:43:37 -04:00
parent a0e1593af9
commit 19ecd95346
6 changed files with 92 additions and 7 deletions

View file

@ -23,6 +23,7 @@ let globalConfig: LoggerConfig = {
logFilePath: './logs',
logLoki: false,
environment: 'development',
hideObject: false,
};
// Log level priorities for comparison
@ -40,6 +41,7 @@ const LOG_LEVELS: Record<LogLevel, number> = {
*/
export function setLoggerConfig(config: LoggerConfig): void {
globalConfig = { ...globalConfig, ...config };
// Clear cache to force recreation with new config
loggerCache.clear();
}
/**
@ -173,15 +175,46 @@ export class Logger {
return;
}
const data = { ...this.context, ...metadata };
let data = { ...this.context, ...metadata };
// Filter out objects if hideObject is enabled
if (globalConfig.hideObject) {
data = this.filterObjects(data);
}
if (typeof message === 'string') {
(this.pino as any)[level](data, message);
} else {
(this.pino as any)[level]({ ...data, data: message }, 'Object logged');
if (globalConfig.hideObject) {
(this.pino as any)[level]({}, `Object logged (hidden)`);
} else {
(this.pino as any)[level]({ ...data, data: message }, 'Object logged');
}
}
}
/**
* Filter out objects from metadata when hideObject is enabled
*/
private filterObjects(data: Record<string, any>): Record<string, any> {
const filtered: Record<string, any> = {};
for (const [key, value] of Object.entries(data)) {
if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
// Keep error objects for debugging
if (key === 'err' || key === 'error' || value instanceof Error) {
filtered[key] = value;
} else {
filtered[key] = '[object hidden]';
}
} else {
filtered[key] = value;
}
}
return filtered;
}
// Simple log level methods
trace(message: string | object, metadata?: LogMetadata): void {
this.log('trace', message, metadata);