split log files

This commit is contained in:
HF 2020-04-30 09:13:31 +02:00
parent 41c4dbb774
commit 0360ba0dc1
4 changed files with 31 additions and 12 deletions

View File

@ -7,7 +7,9 @@ import fetch from '../utils/proxiedFetch';
import redis from '../data/redis';
import { getIPv6Subnet } from '../utils/ip';
import { Blacklist, Whitelist } from '../data/models';
import logger from './logger';
import { proxyLogger } from './logger';
const logger = proxyLogger;
/*

View File

@ -18,7 +18,22 @@ const logger = createLogger({
],
});
export const pixelLogger = createLogger({
transports: [
new transports.File({
level: 'info',
filename: './pixels.log',
maxsize: 10428800, // 10MB
colorize: false,
}),
],
});
export const proxyLogger = createLogger({
format: format.combine(
format.splat(),
format.simple(),
),
transports: [
new transports.File({
level: 'info',

View File

@ -4,19 +4,12 @@
import express from 'express';
import bodyParser from 'body-parser';
import cors from 'cors';
import session from '../../core/session';
import passport from '../../core/passport';
import { User } from '../../data/models';
import { getIPFromRequest, getIPv6Subnet } from '../../utils/ip';
import {
MINUTE,
SECOND,
DAY,
} from '../../core/constants';
import me from './me';
import mctp from './mctp';
import pixel from './pixel';
@ -42,8 +35,9 @@ router.use(session);
* (cut IPv6 to subnet to prevent abuse)
*/
router.use(async (req, res, next) => {
const { session } = req;
const id = (session.passport && session.passport.user) ? session.passport.user : null;
const { session: sess } = req;
const id = (sess.passport && sess.passport.user)
? sess.passport.user : null;
const ip = await getIPFromRequest(req);
const trueIp = ip || '0.0.0.1';
req.trueIp = trueIp;

View File

@ -12,7 +12,7 @@ import {
strongDetector,
} from '../../core/isProxy';
import verifyCaptcha from '../../utils/recaptcha';
import logger from '../../core/logger';
import logger, { pixelLogger } from '../../core/logger';
import redis from '../../data/redis';
import {
USE_PROXYCHECK,
@ -193,7 +193,15 @@ async function place(req: Request, res: Response) {
const { user, trueIp } = req;
// eslint-disable-next-line max-len
logger.info(`${trueIp} / ${user.id} wants to place ${clr} in (${x}, ${y}, ${z}) on canvas ${cn}`);
pixelLogger.info({
ip: trueIp,
id: user.id,
cn,
x,
y,
z,
clr,
});
const {
errorTitle, error, success, waitSeconds, coolDownSeconds,