36 lines
1.6 KiB
TypeScript
36 lines
1.6 KiB
TypeScript
import type { ILogger } from "@repo/rdx-logger";
|
|
|
|
import type { ConfigType } from "./config";
|
|
|
|
const redact = (value: string): string => {
|
|
if (value.length <= 4) return "***";
|
|
return `${value.slice(0, 2)}***${value.slice(-2)}`;
|
|
};
|
|
|
|
export const logConfigSummary = (config: ConfigType, logger: ILogger): void => {
|
|
logger.info("────────────────────────────────────────");
|
|
logger.info("Server configuration loaded");
|
|
logger.info("────────────────────────────────────────");
|
|
|
|
logger.info(`ENV : ${config.env}`);
|
|
logger.info(`API PORT : ${config.server.port}`);
|
|
logger.info(`API API_BASE_PATH : ${config.server.apiBasePath}`);
|
|
logger.info(`FRONTEND URL : ${config.server.frontendUrl}`);
|
|
|
|
logger.info(
|
|
`DB : ${config.database.dialect} ${config.database.host}:${config.database.port}/${config.database.name}`
|
|
);
|
|
logger.info(`DB SYNC MODE : ${config.database.syncMode}`);
|
|
|
|
logger.info(`JWT SECRET : ${redact(config.auth.jwt.secret)}`);
|
|
|
|
logger.info(`TEMPLATES PATH : ${config.paths.templates}`);
|
|
logger.info(`DOCUMENTS PATH : ${config.paths.documents}`);
|
|
|
|
logger.info(`SIGNING SERVICE : ${config.signingService.url}`);
|
|
|
|
logger.info(`CERTIFICATES : ${Object.keys(config.certificates).join(", ")}`);
|
|
|
|
logger.info("────────────────────────────────────────");
|
|
};
|