env
All checks were successful
Build & Deploy KLZ Cables / build-and-deploy (push) Successful in 3m36s
All checks were successful
Build & Deploy KLZ Cables / build-and-deploy (push) Successful in 3m36s
This commit is contained in:
@@ -6,6 +6,7 @@ import { RedisCacheService } from './cache/redis-cache-service';
|
||||
import { GlitchtipErrorReportingService } from './errors/glitchtip-error-reporting-service';
|
||||
import { NoopErrorReportingService } from './errors/noop-error-reporting-service';
|
||||
import { PinoLoggerService } from './logging/pino-logger-service';
|
||||
import { config, getMaskedConfig } from '../config';
|
||||
|
||||
let singleton: AppServices | undefined;
|
||||
|
||||
@@ -15,71 +16,47 @@ export function getServerAppServices(): AppServices {
|
||||
// Create logger first to log initialization
|
||||
const logger = new PinoLoggerService('server');
|
||||
|
||||
// Log environment variables (safely masked)
|
||||
const envLog = {
|
||||
// Mask sensitive values - show only last 4 characters or '***' for empty
|
||||
NEXT_PUBLIC_UMAMI_WEBSITE_ID: process.env.NEXT_PUBLIC_UMAMI_WEBSITE_ID
|
||||
? `***${process.env.NEXT_PUBLIC_UMAMI_WEBSITE_ID.slice(-4)}`
|
||||
: 'not set',
|
||||
UMAMI_SCRIPT_URL: process.env.UMAMI_SCRIPT_URL ?? 'not set',
|
||||
SENTRY_DSN: process.env.SENTRY_DSN
|
||||
? `***${process.env.SENTRY_DSN.slice(-4)}`
|
||||
: 'not set',
|
||||
REDIS_URL: process.env.REDIS_URL
|
||||
? `***${process.env.REDIS_URL.slice(-4)}`
|
||||
: 'not set',
|
||||
REDIS_KEY_PREFIX: process.env.REDIS_KEY_PREFIX ?? 'klz:',
|
||||
LOG_LEVEL: process.env.LOG_LEVEL ?? 'info',
|
||||
NODE_ENV: process.env.NODE_ENV ?? 'not set',
|
||||
// Safe to show - no sensitive data
|
||||
NEXT_PUBLIC_BASE_URL: process.env.NEXT_PUBLIC_BASE_URL ?? 'not set',
|
||||
};
|
||||
|
||||
logger.info('Initializing server application services', {
|
||||
environment: envLog,
|
||||
environment: getMaskedConfig(),
|
||||
timestamp: new Date().toISOString(),
|
||||
});
|
||||
|
||||
const umamiEnabled = Boolean(process.env.NEXT_PUBLIC_UMAMI_WEBSITE_ID);
|
||||
const sentryEnabled = Boolean(process.env.SENTRY_DSN);
|
||||
|
||||
logger.info('Service configuration', {
|
||||
umamiEnabled,
|
||||
sentryEnabled,
|
||||
redisEnabled: Boolean(process.env.REDIS_URL),
|
||||
umamiEnabled: config.analytics.umami.enabled,
|
||||
sentryEnabled: config.errors.glitchtip.enabled,
|
||||
redisEnabled: config.cache.redis.enabled,
|
||||
});
|
||||
|
||||
const analytics = umamiEnabled
|
||||
const analytics = config.analytics.umami.enabled
|
||||
? new UmamiAnalyticsService({ enabled: true })
|
||||
: new NoopAnalyticsService();
|
||||
|
||||
if (umamiEnabled) {
|
||||
if (config.analytics.umami.enabled) {
|
||||
logger.info('Umami analytics service initialized');
|
||||
} else {
|
||||
logger.info('Noop analytics service initialized (analytics disabled)');
|
||||
}
|
||||
|
||||
const errors = sentryEnabled
|
||||
const errors = config.errors.glitchtip.enabled
|
||||
? new GlitchtipErrorReportingService({ enabled: true })
|
||||
: new NoopErrorReportingService();
|
||||
|
||||
if (sentryEnabled) {
|
||||
if (config.errors.glitchtip.enabled) {
|
||||
logger.info('GlitchTip error reporting service initialized');
|
||||
} else {
|
||||
logger.info('Noop error reporting service initialized (error reporting disabled)');
|
||||
}
|
||||
|
||||
const redisUrl = process.env.REDIS_URL;
|
||||
const cache = redisUrl
|
||||
const cache = config.cache.redis.enabled && config.cache.redis.url
|
||||
? new RedisCacheService({
|
||||
url: redisUrl,
|
||||
keyPrefix: process.env.REDIS_KEY_PREFIX ?? 'klz:',
|
||||
url: config.cache.redis.url,
|
||||
keyPrefix: config.cache.redis.keyPrefix,
|
||||
})
|
||||
: new MemoryCacheService();
|
||||
|
||||
if (redisUrl) {
|
||||
if (config.cache.redis.enabled) {
|
||||
logger.info('Redis cache service initialized', {
|
||||
keyPrefix: process.env.REDIS_KEY_PREFIX ?? 'klz:'
|
||||
keyPrefix: config.cache.redis.keyPrefix
|
||||
});
|
||||
} else {
|
||||
logger.info('Memory cache service initialized (Redis not configured)');
|
||||
@@ -87,7 +64,7 @@ export function getServerAppServices(): AppServices {
|
||||
|
||||
logger.info('Pino logger service initialized', {
|
||||
name: 'server',
|
||||
level: process.env.LOG_LEVEL ?? 'info',
|
||||
level: config.logging.level,
|
||||
});
|
||||
|
||||
singleton = new AppServices(analytics, errors, cache, logger);
|
||||
|
||||
Reference in New Issue
Block a user