NeahNew/lib/logger.ts
2026-01-07 10:32:42 +01:00

43 lines
1.0 KiB
TypeScript

const isProd = process.env.NODE_ENV === 'production';
type LogLevel = 'debug' | 'info' | 'warn' | 'error';
// Simple environment-aware logger so we can keep useful errors
// while silencing noisy debug logs in production.
export const logger = {
debug: (...args: any[]) => {
if (!isProd) {
console.debug(...args);
}
},
info: (...args: any[]) => {
if (!isProd) {
console.info(...args);
}
},
warn: (...args: any[]) => {
// Warnings are generally safe but can be noisy; hide in prod by default.
if (!isProd) {
console.warn(...args);
}
},
error: (...args: any[]) => {
// Always log errors; callers must avoid passing secrets / full payloads.
console.error(...args);
},
log: (level: LogLevel, ...args: any[]) => {
switch (level) {
case 'debug':
return logger.debug(...args);
case 'info':
return logger.info(...args);
case 'warn':
return logger.warn(...args);
case 'error':
return logger.error(...args);
}
},
};