pixelplanet/src/core/logger.js

76 lines
1.6 KiB
JavaScript
Raw Normal View History

2020-01-02 16:58:06 +00:00
/**
*
* http://tostring.it/2014/06/23/advanced-logging-with-nodejs/
*
*/
import { createLogger, format, transports } from 'winston';
2020-05-01 03:00:14 +00:00
import DailyRotateFile from 'winston-daily-rotate-file';
2020-01-02 16:58:06 +00:00
2023-12-13 02:18:14 +00:00
import { SHARD_NAME } from './config';
export const PIXELLOGGER_PREFIX = (SHARD_NAME)
2023-12-13 02:45:11 +00:00
? `./log/pixels-${SHARD_NAME}-` : './log/pixels-';
const PROXYLOGGER_PREFIX = (SHARD_NAME)
2023-12-13 03:05:16 +00:00
? `./log/proxycheck-${SHARD_NAME}-` : './log/proxycheck-';
2023-12-13 02:45:11 +00:00
const MODTOOLLOGGER_PREFIX = (SHARD_NAME)
? `./log/moderation/modtools-${SHARD_NAME}-` : './log/moderation/modtools-';
const logger = createLogger({
level: 'info',
format: format.combine(
2020-01-04 13:08:56 +00:00
format.splat(),
format.simple(),
),
transports: [
new transports.Console(),
],
});
2020-01-02 16:58:06 +00:00
2020-04-30 07:13:31 +00:00
export const pixelLogger = createLogger({
2020-05-01 03:00:14 +00:00
format: format.printf(({ message }) => message),
2020-04-30 07:13:31 +00:00
transports: [
2020-05-01 03:00:14 +00:00
new DailyRotateFile({
filename: `${PIXELLOGGER_PREFIX}%DATE%.log`,
2020-05-01 03:00:14 +00:00
maxFiles: '14d',
2022-07-31 08:00:38 +00:00
utc: true,
2020-04-30 07:13:31 +00:00
colorize: false,
}),
],
});
export const proxyLogger = createLogger({
2020-04-30 07:13:31 +00:00
format: format.combine(
format.splat(),
format.simple(),
),
2020-01-02 16:58:06 +00:00
transports: [
2020-05-01 03:00:14 +00:00
new DailyRotateFile({
2020-01-02 16:58:06 +00:00
level: 'info',
2023-12-13 02:45:11 +00:00
filename: `${PROXYLOGGER_PREFIX}%DATE%.log`,
2020-05-01 03:00:14 +00:00
maxsize: '10m',
maxFiles: '14d',
2022-07-31 08:00:38 +00:00
utc: true,
2020-01-02 16:58:06 +00:00
colorize: false,
}),
],
});
export const modtoolsLogger = createLogger({
2020-11-29 13:22:14 +00:00
format: format.printf(({ message }) => message),
transports: [
new DailyRotateFile({
level: 'info',
2023-12-13 02:45:11 +00:00
filename: `${MODTOOLLOGGER_PREFIX}%DATE%.log`,
2020-11-29 13:22:14 +00:00
maxSize: '20m',
maxFiles: '14d',
2022-07-31 08:00:38 +00:00
utc: true,
2020-11-29 13:22:14 +00:00
colorize: false,
}),
],
});
2020-01-02 16:58:06 +00:00
export default logger;