76 lines
1.6 KiB
JavaScript
76 lines
1.6 KiB
JavaScript
/**
|
|
*
|
|
* http://tostring.it/2014/06/23/advanced-logging-with-nodejs/
|
|
*
|
|
*/
|
|
|
|
import { createLogger, format, transports } from 'winston';
|
|
import DailyRotateFile from 'winston-daily-rotate-file';
|
|
|
|
import { SHARD_NAME } from './config';
|
|
|
|
export const PIXELLOGGER_PREFIX = (SHARD_NAME)
|
|
? `./log/pixels-${SHARD_NAME}-` : './log/pixels-';
|
|
const PROXYLOGGER_PREFIX = (SHARD_NAME)
|
|
? `./log/proxycheck-${SHARD_NAME}-` : './log/proxycheck-';
|
|
const MODTOOLLOGGER_PREFIX = (SHARD_NAME)
|
|
? `./log/moderation/modtools-${SHARD_NAME}-` : './log/moderation/modtools-';
|
|
|
|
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({
|
|
filename: `${PIXELLOGGER_PREFIX}%DATE%.log`,
|
|
maxFiles: '14d',
|
|
utc: true,
|
|
colorize: false,
|
|
}),
|
|
],
|
|
});
|
|
|
|
export const proxyLogger = createLogger({
|
|
format: format.combine(
|
|
format.splat(),
|
|
format.simple(),
|
|
),
|
|
transports: [
|
|
new DailyRotateFile({
|
|
level: 'info',
|
|
filename: `${PROXYLOGGER_PREFIX}%DATE%.log`,
|
|
maxsize: '10m',
|
|
maxFiles: '14d',
|
|
utc: true,
|
|
colorize: false,
|
|
}),
|
|
],
|
|
});
|
|
|
|
export const modtoolsLogger = createLogger({
|
|
format: format.printf(({ message }) => message),
|
|
transports: [
|
|
new DailyRotateFile({
|
|
level: 'info',
|
|
filename: `${MODTOOLLOGGER_PREFIX}%DATE%.log`,
|
|
maxSize: '20m',
|
|
maxFiles: '14d',
|
|
utc: true,
|
|
colorize: false,
|
|
}),
|
|
],
|
|
});
|
|
|
|
|
|
|
|
export default logger;
|