diff --git a/src/core/isProxy.js b/src/core/isProxy.js index eddcd72..11f48c4 100644 --- a/src/core/isProxy.js +++ b/src/core/isProxy.js @@ -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; /* diff --git a/src/core/logger.js b/src/core/logger.js index 6f9439f..12a05bd 100644 --- a/src/core/logger.js +++ b/src/core/logger.js @@ -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', diff --git a/src/routes/api/index.js b/src/routes/api/index.js index fee7c9e..d6b71aa 100644 --- a/src/routes/api/index.js +++ b/src/routes/api/index.js @@ -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; diff --git a/src/routes/api/pixel.js b/src/routes/api/pixel.js index 05ac9b2..84279e1 100644 --- a/src/routes/api/pixel.js +++ b/src/routes/api/pixel.js @@ -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,