switched all console logs to logger

This commit is contained in:
Boki 2025-06-23 11:34:58 -04:00
parent 3877902ff4
commit a3f2f199b4
14 changed files with 125 additions and 122 deletions

View file

@ -1,85 +1,87 @@
import { ConfigManager, createAppConfig } from '@stock-bot/config';
import { stockAppSchema, type StockAppConfig } from './schemas';
import * as path from 'path';
let configInstance: ConfigManager<StockAppConfig> | null = null;
/**
* Initialize the stock application configuration
* @param serviceName - Optional service name to override port configuration
*/
export function initializeStockConfig(serviceName?: 'dataIngestion' | 'dataPipeline' | 'webApi'): StockAppConfig {
try {
if (!configInstance) {
configInstance = createAppConfig(stockAppSchema, {
configPath: path.join(__dirname, '../config'),
});
}
const config = configInstance.initialize(stockAppSchema);
// If a service name is provided, override the service port
if (serviceName && config.services?.[serviceName]) {
const kebabName = serviceName.replace(/([A-Z])/g, '-$1').toLowerCase().replace(/^-/, '');
return {
...config,
service: {
...config.service,
port: config.services[serviceName].port,
name: serviceName, // Keep original for backward compatibility
serviceName: kebabName // Standard kebab-case name
}
};
}
return config;
} catch (error: any) {
console.error('Failed to initialize stock configuration:', error.message);
if (error.errors) {
console.error('Validation errors:', JSON.stringify(error.errors, null, 2));
}
throw error;
}
}
/**
* Get the current stock configuration
*/
export function getStockConfig(): StockAppConfig {
if (!configInstance) {
// Auto-initialize if not already done
return initializeStockConfig();
}
return configInstance.get();
}
/**
* Get configuration for a specific service
*/
export function getServiceConfig(service: 'dataIngestion' | 'dataPipeline' | 'webApi') {
const config = getStockConfig();
return config.services?.[service];
}
/**
* Get configuration for a specific provider
*/
export function getProviderConfig(provider: 'eod' | 'ib' | 'qm' | 'yahoo') {
const config = getStockConfig();
return config.providers[provider];
}
/**
* Check if a feature is enabled
*/
export function isFeatureEnabled(feature: keyof StockAppConfig['features']): boolean {
const config = getStockConfig();
return config.features[feature];
}
/**
* Reset configuration (useful for testing)
*/
export function resetStockConfig(): void {
configInstance = null;
import { ConfigManager, createAppConfig } from '@stock-bot/config';
import { stockAppSchema, type StockAppConfig } from './schemas';
import * as path from 'path';
import { getLogger } from '@stock-bot/logger';
let configInstance: ConfigManager<StockAppConfig> | null = null;
/**
* Initialize the stock application configuration
* @param serviceName - Optional service name to override port configuration
*/
export function initializeStockConfig(serviceName?: 'dataIngestion' | 'dataPipeline' | 'webApi'): StockAppConfig {
try {
if (!configInstance) {
configInstance = createAppConfig(stockAppSchema, {
configPath: path.join(__dirname, '../config'),
});
}
const config = configInstance.initialize(stockAppSchema);
// If a service name is provided, override the service port
if (serviceName && config.services?.[serviceName]) {
const kebabName = serviceName.replace(/([A-Z])/g, '-$1').toLowerCase().replace(/^-/, '');
return {
...config,
service: {
...config.service,
port: config.services[serviceName].port,
name: serviceName, // Keep original for backward compatibility
serviceName: kebabName // Standard kebab-case name
}
};
}
return config;
} catch (error: any) {
const logger = getLogger('stock-config');
logger.error('Failed to initialize stock configuration:', error.message);
if (error.errors) {
logger.error('Validation errors:', error.errors);
}
throw error;
}
}
/**
* Get the current stock configuration
*/
export function getStockConfig(): StockAppConfig {
if (!configInstance) {
// Auto-initialize if not already done
return initializeStockConfig();
}
return configInstance.get();
}
/**
* Get configuration for a specific service
*/
export function getServiceConfig(service: 'dataIngestion' | 'dataPipeline' | 'webApi') {
const config = getStockConfig();
return config.services?.[service];
}
/**
* Get configuration for a specific provider
*/
export function getProviderConfig(provider: 'eod' | 'ib' | 'qm' | 'yahoo') {
const config = getStockConfig();
return config.providers[provider];
}
/**
* Check if a feature is enabled
*/
export function isFeatureEnabled(feature: keyof StockAppConfig['features']): boolean {
const config = getStockConfig();
return config.features[feature];
}
/**
* Reset configuration (useful for testing)
*/
export function resetStockConfig(): void {
configInstance = null;
}

View file

@ -19,7 +19,7 @@ export async function checkSessions(handler: BaseHandler): Promise<{
// Check which session IDs need more sessions and queue creation jobs
let queuedCount = 0;
for (const [sessionType, sessionId] of Object.entries(QM_SESSION_IDS)) {
console.log(`Checking session ID: ${sessionId}`);
handler.logger.debug(`Checking session ID: ${sessionId}`);
if (sessionManager.needsMoreSessions(sessionId)) {
const currentCount = sessionManager.getSessions(sessionId).length;
const neededSessions = SESSION_CONFIG.MAX_SESSIONS - currentCount;

View file

@ -15,7 +15,7 @@ import { createRoutes } from './routes/create-routes';
// Initialize configuration with service-specific overrides
const config = initializeStockConfig('dataIngestion');
console.log('Data Ingestion Service Configuration:', JSON.stringify(config, null, 2));
// Create service application
const app = new ServiceApplication(

View file

@ -18,7 +18,7 @@ import { setupServiceContainer } from './container-setup';
// Initialize configuration with service-specific overrides
const config = initializeStockConfig('dataPipeline');
console.log('Data Pipeline Service Configuration:', JSON.stringify(config, null, 2));
// Create service application
const app = new ServiceApplication(

View file

@ -21,7 +21,7 @@ if (config.queue) {
config.queue.delayWorkerStart = true;
}
console.log('Web API Service Configuration:', JSON.stringify(config, null, 2));
// Create service application
const app = new ServiceApplication(