core/baas-control-plane/src/lib/logger.ts
2025-12-27 13:49:00 -03:00

34 lines
697 B
TypeScript

type LogPayload = Record<string, unknown>;
const log = (level: 'info' | 'error' | 'warn', message: string, payload?: LogPayload) => {
const entry = {
level,
message,
timestamp: new Date().toISOString(),
...payload,
};
if (level === 'error') {
console.error(entry);
return;
}
if (level === 'warn') {
console.warn(entry);
return;
}
console.log(entry);
};
export const logger = {
info(message: string, payload?: LogPayload) {
log('info', message, payload);
},
warn(message: string, payload?: LogPayload) {
log('warn', message, payload);
},
error(message: string, payload?: LogPayload) {
log('error', message, payload);
},
};