22 lines
659 B
TypeScript
22 lines
659 B
TypeScript
import coerceRecordTypes from '../modules/config/coerce-record-types';
|
|
import { registerAs } from '@nestjs/config';
|
|
import { z } from 'zod';
|
|
|
|
export const loggerSchema = z.object({
|
|
seqServerHost: z.string(),
|
|
seqServerPort: z.number().finite().positive(),
|
|
seqApiKey: z.string(),
|
|
});
|
|
export type LoggerConfig = z.infer<typeof loggerSchema>;
|
|
|
|
export const loggerConfig = registerAs('logger', () => {
|
|
const env = coerceRecordTypes(process.env);
|
|
|
|
const config: LoggerConfig = loggerSchema.strict().parse({
|
|
seqServerHost: env['SEQ_SERVER_HOST'],
|
|
seqServerPort: env['SEQ_SERVER_PORT'],
|
|
seqApiKey: env['SEQ_API_KEY'],
|
|
});
|
|
return config;
|
|
});
|