pixelplanet/src/core/logger.js
2022-03-16 20:42:17 +01:00

67 lines
1.3 KiB
JavaScript

/**
*
* http://tostring.it/2014/06/23/advanced-logging-with-nodejs/
*
* @flow
*/
import { createLogger, format, transports } from 'winston';
import DailyRotateFile from 'winston-daily-rotate-file';
const logger = createLogger({
level: 'info',
format: format.combine(
format.splat(),
format.simple(),
),
transports: [
new transports.Console(),
],
});
export const pixelLogger = createLogger({
format: format.printf(({ message }) => message),
transports: [
new DailyRotateFile({
level: 'info',
filename: './log/pixels-%DATE%.log',
maxSize: '20m',
maxFiles: '14d',
colorize: false,
}),
],
});
export const proxyLogger = createLogger({
format: format.combine(
format.splat(),
format.simple(),
),
transports: [
new DailyRotateFile({
level: 'info',
filename: './log/proxycheck-%DATE%.log',
maxsize: '10m',
maxFiles: '14d',
colorize: false,
}),
],
});
export const modtoolsLogger = createLogger({
format: format.printf(({ message }) => message),
transports: [
new DailyRotateFile({
level: 'info',
filename: './log/moderation/modtools-%DATE%.log',
maxSize: '20m',
maxFiles: '14d',
colorize: false,
}),
],
});
export default logger;