blob: f3c5d45db63291334d2873eed9aabe651785bc8d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
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;
|