fix winston and sql error after upgrade
add option to log sql
This commit is contained in:
parent
ad42677816
commit
b484ff17b6
|
@ -84,6 +84,7 @@ Configuration takes place in the environment variables that are defined in ecosy
|
||||||
| RECAPTCHA_SITEKEY | reCaptcha site key | "23ksdfssd" |
|
| RECAPTCHA_SITEKEY | reCaptcha site key | "23ksdfssd" |
|
||||||
| RECAPTCHA_TIME | time in minutes between captchas | 30 |
|
| RECAPTCHA_TIME | time in minutes between captchas | 30 |
|
||||||
| SESSION_SECRET | random sting for expression sessions | "ayylmao" |
|
| SESSION_SECRET | random sting for expression sessions | "ayylmao" |
|
||||||
|
| LOG_MYSQL | if sql queries should get logged | 0 |
|
||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
|
|
||||||
|
|
|
@ -10,5 +10,6 @@ apps:
|
||||||
MYSQL_HOST: "localhost"
|
MYSQL_HOST: "localhost"
|
||||||
MYSQL_USER: "pixelplanet"
|
MYSQL_USER: "pixelplanet"
|
||||||
MYSQL_DATABASE: "pixelplanet"
|
MYSQL_DATABASE: "pixelplanet"
|
||||||
|
LOG_MYSQL: 1
|
||||||
MYSQL_PW: "sqlpassword"
|
MYSQL_PW: "sqlpassword"
|
||||||
SESSION_SECRET: "ayyylmao"
|
SESSION_SECRET: "ayyylmao"
|
||||||
|
|
100
package-lock.json
generated
100
package-lock.json
generated
|
@ -1654,6 +1654,11 @@
|
||||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
|
||||||
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
|
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
|
||||||
},
|
},
|
||||||
|
"ansicolors": {
|
||||||
|
"version": "0.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz",
|
||||||
|
"integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk="
|
||||||
|
},
|
||||||
"any-promise": {
|
"any-promise": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
|
||||||
|
@ -2778,6 +2783,15 @@
|
||||||
"integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==",
|
"integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"cardinal": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz",
|
||||||
|
"integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=",
|
||||||
|
"requires": {
|
||||||
|
"ansicolors": "~0.3.2",
|
||||||
|
"redeyed": "~2.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"caseless": {
|
"caseless": {
|
||||||
"version": "0.12.0",
|
"version": "0.12.0",
|
||||||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
||||||
|
@ -3659,6 +3673,11 @@
|
||||||
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
|
||||||
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
|
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
|
||||||
},
|
},
|
||||||
|
"denque": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz",
|
||||||
|
"integrity": "sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ=="
|
||||||
|
},
|
||||||
"depcheck": {
|
"depcheck": {
|
||||||
"version": "0.6.11",
|
"version": "0.6.11",
|
||||||
"resolved": "https://registry.npmjs.org/depcheck/-/depcheck-0.6.11.tgz",
|
"resolved": "https://registry.npmjs.org/depcheck/-/depcheck-0.6.11.tgz",
|
||||||
|
@ -4799,8 +4818,7 @@
|
||||||
"esprima": {
|
"esprima": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
|
||||||
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
|
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"esquery": {
|
"esquery": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
|
@ -6060,6 +6078,14 @@
|
||||||
"globule": "^1.0.0"
|
"globule": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"generate-function": {
|
||||||
|
"version": "2.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",
|
||||||
|
"integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
|
||||||
|
"requires": {
|
||||||
|
"is-property": "^1.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"get-caller-file": {
|
"get-caller-file": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
|
||||||
|
@ -6993,6 +7019,11 @@
|
||||||
"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
|
"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"is-property": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
|
||||||
|
"integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ="
|
||||||
|
},
|
||||||
"is-redirect": {
|
"is-redirect": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
|
||||||
|
@ -7427,6 +7458,11 @@
|
||||||
"triple-beam": "^1.3.0"
|
"triple-beam": "^1.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"long": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
|
||||||
|
},
|
||||||
"loose-envify": {
|
"loose-envify": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
|
||||||
|
@ -7875,6 +7911,48 @@
|
||||||
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
|
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"mysql2": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-9kGVyi930rG2KaHrz3sHwtc6K+GY9d8wWk1XRSYxQiunvGcn4DwuZxOwmK11ftuhhwrYDwGx9Ta4VBwznJn36A==",
|
||||||
|
"requires": {
|
||||||
|
"cardinal": "^2.1.1",
|
||||||
|
"denque": "^1.4.1",
|
||||||
|
"generate-function": "^2.3.1",
|
||||||
|
"iconv-lite": "^0.5.0",
|
||||||
|
"long": "^4.0.0",
|
||||||
|
"lru-cache": "^5.1.1",
|
||||||
|
"named-placeholders": "^1.1.2",
|
||||||
|
"seq-queue": "^0.0.5",
|
||||||
|
"sqlstring": "^2.3.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"iconv-lite": {
|
||||||
|
"version": "0.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.0.tgz",
|
||||||
|
"integrity": "sha512-NnEhI9hIEKHOzJ4f697DMz9IQEXr/MMJ5w64vN2/4Ai+wRnvV7SBrL0KLoRlwaKVghOc7LQ5YkPLuX146b6Ydw==",
|
||||||
|
"requires": {
|
||||||
|
"safer-buffer": ">= 2.1.2 < 3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lru-cache": {
|
||||||
|
"version": "5.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
|
||||||
|
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
|
||||||
|
"requires": {
|
||||||
|
"yallist": "^3.0.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"named-placeholders": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==",
|
||||||
|
"requires": {
|
||||||
|
"lru-cache": "^4.1.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nan": {
|
"nan": {
|
||||||
"version": "2.14.0",
|
"version": "2.14.0",
|
||||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
|
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
|
||||||
|
@ -9614,6 +9692,14 @@
|
||||||
"strip-indent": "^1.0.1"
|
"strip-indent": "^1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"redeyed": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz",
|
||||||
|
"integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=",
|
||||||
|
"requires": {
|
||||||
|
"esprima": "~4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"redis": {
|
"redis": {
|
||||||
"version": "2.8.0",
|
"version": "2.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz",
|
||||||
|
@ -10107,6 +10193,11 @@
|
||||||
"mailcomposer": "3.12.0"
|
"mailcomposer": "3.12.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"seq-queue": {
|
||||||
|
"version": "0.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz",
|
||||||
|
"integrity": "sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4="
|
||||||
|
},
|
||||||
"sequelize": {
|
"sequelize": {
|
||||||
"version": "5.21.3",
|
"version": "5.21.3",
|
||||||
"resolved": "https://registry.npmjs.org/sequelize/-/sequelize-5.21.3.tgz",
|
"resolved": "https://registry.npmjs.org/sequelize/-/sequelize-5.21.3.tgz",
|
||||||
|
@ -10605,6 +10696,11 @@
|
||||||
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
|
||||||
"integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug=="
|
"integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug=="
|
||||||
},
|
},
|
||||||
|
"sqlstring": {
|
||||||
|
"version": "2.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz",
|
||||||
|
"integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A="
|
||||||
|
},
|
||||||
"sshpk": {
|
"sshpk": {
|
||||||
"version": "1.16.1",
|
"version": "1.16.1",
|
||||||
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
|
||||||
|
|
|
@ -48,6 +48,7 @@
|
||||||
"localforage": "^1.5.0",
|
"localforage": "^1.5.0",
|
||||||
"morgan": "^1.8.2",
|
"morgan": "^1.8.2",
|
||||||
"multer": "^1.4.1",
|
"multer": "^1.4.1",
|
||||||
|
"mysql2": "^2.1.0",
|
||||||
"node-sass": "^4.11.0",
|
"node-sass": "^4.11.0",
|
||||||
"passport": "^0.4.0",
|
"passport": "^0.4.0",
|
||||||
"passport-discord": "^0.1.2",
|
"passport-discord": "^0.1.2",
|
||||||
|
|
|
@ -29,6 +29,9 @@ export const MYSQL_PW = process.env.MYSQL_PW || 'password';
|
||||||
// Social
|
// Social
|
||||||
export const DISCORD_INVITE = process.env.DISCORD_INVITE || 'https://discordapp.com/';
|
export const DISCORD_INVITE = process.env.DISCORD_INVITE || 'https://discordapp.com/';
|
||||||
|
|
||||||
|
// Logging
|
||||||
|
export const LOG_MYSQL = parseInt(process.env.LOG_MYSQL, 10) || false;
|
||||||
|
|
||||||
// Accounts
|
// Accounts
|
||||||
export const APISOCKET_KEY = process.env.APISOCKET_KEY || 'changethis';
|
export const APISOCKET_KEY = process.env.APISOCKET_KEY || 'changethis';
|
||||||
// Comma seperated list of user ids of Admins
|
// Comma seperated list of user ids of Admins
|
||||||
|
|
|
@ -5,18 +5,25 @@
|
||||||
* @flow
|
* @flow
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import winston from 'winston';
|
import { createLogger, format, transports } from 'winston';
|
||||||
|
|
||||||
|
|
||||||
const logger = winston;
|
const logger = createLogger({
|
||||||
|
|
||||||
export const proxyLogger = winston.createLogger({
|
|
||||||
transports: [
|
|
||||||
new winston.transports.File({
|
|
||||||
level: 'info',
|
level: 'info',
|
||||||
filename: '/var/log/pixelplace/proxies.log',
|
format: format.combine(
|
||||||
json: true,
|
format.simple(),
|
||||||
maxsize: 2 * 52428800, // 100MB
|
),
|
||||||
|
transports: [
|
||||||
|
new transports.Console(),
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|
||||||
|
export const proxyLogger = createLogger({
|
||||||
|
transports: [
|
||||||
|
new transports.File({
|
||||||
|
level: 'info',
|
||||||
|
filename: './proxies.log',
|
||||||
|
maxsize: 10428800, // 10MB
|
||||||
colorize: false,
|
colorize: false,
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
|
|
||||||
import Sequelize from 'sequelize';
|
import Sequelize from 'sequelize';
|
||||||
|
|
||||||
import logging from '../core/logger';
|
import logger from '../core/logger';
|
||||||
import {
|
import {
|
||||||
MYSQL_HOST, MYSQL_DATABASE, MYSQL_USER, MYSQL_PW,
|
MYSQL_HOST, MYSQL_DATABASE, MYSQL_USER, MYSQL_PW, LOG_MYSQL,
|
||||||
} from '../core/config';
|
} from '../core/config';
|
||||||
|
|
||||||
const sequelize = new Sequelize(MYSQL_DATABASE, MYSQL_USER, MYSQL_PW, {
|
const sequelize = new Sequelize(MYSQL_DATABASE, MYSQL_USER, MYSQL_PW, {
|
||||||
|
@ -18,8 +18,8 @@ const sequelize = new Sequelize(MYSQL_DATABASE, MYSQL_USER, MYSQL_PW, {
|
||||||
max: 25,
|
max: 25,
|
||||||
idle: 10000,
|
idle: 10000,
|
||||||
acquire: 10000,
|
acquire: 10000,
|
||||||
logging,
|
|
||||||
},
|
},
|
||||||
|
logging: (LOG_MYSQL) ? (...msg) => logger.info(msg) : false,
|
||||||
dialectOptions: {
|
dialectOptions: {
|
||||||
connectTimeout: 10000,
|
connectTimeout: 10000,
|
||||||
multipleStatements: true,
|
multipleStatements: true,
|
||||||
|
|
|
@ -35,7 +35,7 @@ async function verifyClient(info, done) {
|
||||||
|
|
||||||
// Limiting socket connections per ip
|
// Limiting socket connections per ip
|
||||||
const ip = await getIPFromRequest(req);
|
const ip = await getIPFromRequest(req);
|
||||||
logger.info(`Got ws request from ${ip}`);
|
logger.info('Got ws request from', ip);
|
||||||
if (ipCounter.get(ip) > 50) {
|
if (ipCounter.get(ip) > 50) {
|
||||||
logger.info(`Client ${ip} has more than 50 connections open.`);
|
logger.info(`Client ${ip} has more than 50 connections open.`);
|
||||||
return done(false);
|
return done(false);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user