fixed issue with logger and hideObject

This commit is contained in:
Boki 2025-06-21 08:08:03 -04:00
parent 19ecd95346
commit 6d5d746f68
3 changed files with 15 additions and 35 deletions

2
.env
View file

@ -5,7 +5,7 @@
# Core Application Settings # Core Application Settings
NODE_ENV=development NODE_ENV=development
LOG_LEVEL=debug LOG_LEVEL=debug
LOG_HIDE_OBJECT=true LOG_HIDE_OBJECT=false
# Data Service Configuration # Data Service Configuration
DATA_SERVICE_PORT=2001 DATA_SERVICE_PORT=2001

View file

@ -28,6 +28,9 @@ if (config.log) {
}); });
} }
// Create logger AFTER config is set
const logger = getLogger('data-service');
const app = new Hono(); const app = new Hono();
// Add CORS middleware // Add CORS middleware
@ -40,8 +43,6 @@ app.use(
credentials: false, credentials: false,
}) })
); );
const logger = getLogger('data-service');
const PORT = serviceConfig.port; const PORT = serviceConfig.port;
let server: ReturnType<typeof Bun.serve> | null = null; let server: ReturnType<typeof Bun.serve> | null = null;
// Singleton clients are managed in libraries // Singleton clients are managed in libraries
@ -131,17 +132,17 @@ async function initializeServices() {
// Initialize providers (register handlers and scheduled jobs) // Initialize providers (register handlers and scheduled jobs)
logger.debug('Initializing data providers...'); logger.debug('Initializing data providers...');
const { initializeWebShareProvider } = await import('./providers/webshare.provider'); const { initializeWebShareProvider } = await import('./providers/webshare.provider');
const { initializeExchangeSyncProvider } = await import('./providers/exchange-sync.provider'); // const { initializeExchangeSyncProvider } = await import('./providers/exchange-sync.provider');
const { initializeIBProvider } = await import('./providers/ib.provider'); // const { initializeIBProvider } = await import('./providers/ib.provider');
const { initializeProxyProvider } = await import('./providers/proxy.provider'); // const { initializeProxyProvider } = await import('./providers/proxy.provider');
const { initializeQMProvider } = await import('./providers/qm.provider'); // const { initializeQMProvider } = await import('./providers/qm.provider');
initializeExchangeSyncProvider();
initializeIBProvider();
initializeProxyProvider();
initializeQMProvider();
initializeWebShareProvider(); initializeWebShareProvider();
// initializeExchangeSyncProvider();
// initializeIBProvider();
// initializeProxyProvider();
// initializeQMProvider();
logger.info('Data providers initialized'); logger.info('Data providers initialized');
// Create scheduled jobs from registered handlers // Create scheduled jobs from registered handlers

View file

@ -177,9 +177,9 @@ export class Logger {
let data = { ...this.context, ...metadata }; let data = { ...this.context, ...metadata };
// Filter out objects if hideObject is enabled // Hide all metadata if hideObject is enabled
if (globalConfig.hideObject) { if (globalConfig.hideObject) {
data = this.filterObjects(data); data = {}; // Clear all metadata
} }
if (typeof message === 'string') { if (typeof message === 'string') {
@ -193,27 +193,6 @@ export class Logger {
} }
} }
/**
* 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 // Simple log level methods
trace(message: string | object, metadata?: LogMetadata): void { trace(message: string | object, metadata?: LogMetadata): void {