From e2ce3f32c3e1029c01644ba717ad92185b80c52d Mon Sep 17 00:00:00 2001 From: Siddharth Singh Date: Tue, 29 Apr 2025 23:25:38 +0530 Subject: [PATCH] fix logging default config --- packages/conf/DittoConf.ts | 14 ++++++++++++-- packages/ditto/utils/logi.ts | 2 ++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/conf/DittoConf.ts b/packages/conf/DittoConf.ts index 1420bdf5..d6559cca 100644 --- a/packages/conf/DittoConf.ts +++ b/packages/conf/DittoConf.ts @@ -11,6 +11,8 @@ import { getEcdsaPublicKey } from './utils/crypto.ts'; import { optionalBooleanSchema, optionalNumberSchema } from './utils/schema.ts'; import { mergeURLPath } from './utils/url.ts'; +import { VALID_LOG_TYPES } from '../ditto/utils/logi.ts'; + /** Ditto application-wide configuration. */ export class DittoConf { constructor(private env: { get(key: string): string | undefined }) { @@ -250,9 +252,17 @@ export class DittoConf { level: string; scopes: string[]; } { - const [fmt = 'jsonl', level = 'debug', scopes = ''] = (this.env.get('LOG_CONFIG') || '').split(':').filter(Boolean); + let [fmt, level, scopes] = (this.env.get('LOG_CONFIG') || '').split(':'); + fmt ||= 'jsonl'; + level ||= 'debug'; + scopes ||= ''; + + if (fmt && !VALID_LOG_TYPES.includes(fmt)) { + throw new Error(`Invalid log type supplied: Valid types are [${VALID_LOG_TYPES.join('|')}].`); + } + return { - fmt: fmt === 'jsonl' ? fmt : 'pretty', + fmt: (fmt ?? 'jsonl') as 'jsonl' | 'pretty', level, scopes: scopes.split(',').filter(Boolean), }; diff --git a/packages/ditto/utils/logi.ts b/packages/ditto/utils/logi.ts index 4b764201..0d071254 100644 --- a/packages/ditto/utils/logi.ts +++ b/packages/ditto/utils/logi.ts @@ -55,6 +55,8 @@ const pair = (key: string, value: LogiValue | undefined) => { return `${key}: ${prettyPrint(value || '')}`; }; +export const VALID_LOG_TYPES = ['jsonl', 'pretty']; + export const createLogiHandler = (conf: DittoConf, defaultHandler: LogiHandler) => (log: LogiLog) => { const { fmt, level, scopes } = conf.logConfig; if (fmt === 'jsonl') return defaultHandler(log);