diff --git a/backend/src/config/app.config.ts b/backend/src/config/app.config.ts index 1f4c6e5b9..4c7722bdd 100644 --- a/backend/src/config/app.config.ts +++ b/backend/src/config/app.config.ts @@ -20,6 +20,7 @@ export interface AppConfig { rendererBaseUrl: string; port: number; loglevel: Loglevel; + showLogTimestamp: boolean; persistInterval: number; } @@ -59,6 +60,10 @@ const schema = Joi.object({ .default(Loglevel.WARN) .optional() .label('HD_LOGLEVEL'), + showLogTimestamp: Joi.boolean() + .default(true) + .optional() + .label('HD_SHOW_LOG_TIMESTAMP'), persistInterval: Joi.number() .integer() .min(0) @@ -79,6 +84,7 @@ export default registerAs('appConfig', () => { rendererBaseUrl: process.env.HD_RENDERER_BASE_URL, port: parseOptionalNumber(process.env.HD_BACKEND_PORT), loglevel: process.env.HD_LOGLEVEL, + showLogTimestamp: process.env.HD_SHOW_LOG_TIMESTAMP, persistInterval: process.env.HD_PERSIST_INTERVAL, }, { diff --git a/backend/src/config/mock/app.config.mock.ts b/backend/src/config/mock/app.config.mock.ts index 2e0432754..6af4c3803 100644 --- a/backend/src/config/mock/app.config.mock.ts +++ b/backend/src/config/mock/app.config.mock.ts @@ -15,6 +15,7 @@ export function createDefaultMockAppConfig(): AppConfig { rendererBaseUrl: 'md-renderer.example.com', port: 3000, loglevel: Loglevel.ERROR, + showLogTimestamp: true, persistInterval: 10, }; } diff --git a/backend/src/logger/console-logger.service.ts b/backend/src/logger/console-logger.service.ts index 45a376300..64bbb1694 100644 --- a/backend/src/logger/console-logger.service.ts +++ b/backend/src/logger/console-logger.service.ts @@ -149,17 +149,17 @@ export class ConsoleLoggerService implements LoggerService { day: '2-digit', month: '2-digit', }; - //TODO make timestamp optional (https://github.com/hedgedoc/hedgedoc/issues/5033) - const timestamp = new Date(Date.now()).toLocaleString( - undefined, - localeStringOptions, - ); - + let timeString = ''; + if (this.appConfig.showLogTimestamp) { + timeString = + new Date(Date.now()).toLocaleString(undefined, localeStringOptions) + + ' '; + } const contextMessage = context ? blue(`[${context}] `) : ''; const timestampDiff = this.updateAndGetTimestampDiff(isTimeDiffEnabled); process.stdout.write( - `${timestamp} ${contextMessage}${output}${timestampDiff}\n`, + `${timeString}${contextMessage}${output}${timestampDiff}\n`, ); }