import winston from "winston";
import serverConfig from "./config";
const logger = winston.createLogger({
level: serverConfig.logLevel,
format: winston.format.combine(
winston.format.timestamp(),
...(serverConfig.logNoColor ? [] : [winston.format.colorize()]),
winston.format.printf(
(info) => `${info.timestamp} ${info.level}: ${info.message}`,
),
),
transports: [new winston.transports.Console()],
});
export function throttledLogger(periodMs: number) {
let lastLogTime = 0;
return (level: string, message: string) => {
const now = Date.now();
if (now - lastLogTime >= periodMs) {
lastLogTime = now;
logger.log(level, message);
}
};
}
export default logger;