mirror of https://github.com/calzoneman/sync.git
Try to reduce the extra crap logged when a db query fails
This commit is contained in:
parent
0f9bc44925
commit
8821de0e7d
|
@ -0,0 +1,51 @@
|
||||||
|
const fs = require('fs');
|
||||||
|
require('./config').load('config.yaml');
|
||||||
|
const session = require('./session');
|
||||||
|
|
||||||
|
const users = String(fs.readFileSync('/home/calvin/tmp/cytube_startup.txt'))
|
||||||
|
.split('\n')
|
||||||
|
.filter(ln => /logged in as/.test(ln))
|
||||||
|
.map(ln => {
|
||||||
|
const m = ln.match(/(\S+) logged in as (\S+)/);
|
||||||
|
return { ip: m[1], name: m[2] };
|
||||||
|
});
|
||||||
|
|
||||||
|
const ip2chan = new Map();
|
||||||
|
|
||||||
|
String(fs.readFileSync('/home/calvin/tmp/cytube_startup.txt'))
|
||||||
|
.split('\n')
|
||||||
|
.filter(ln => /joined/.test(ln))
|
||||||
|
.map(ln => {
|
||||||
|
const m = ln.match(/(\S+) joined (\S+)/);
|
||||||
|
ip2chan.set(m[1], m[2]);
|
||||||
|
});
|
||||||
|
|
||||||
|
const db = require('./database');
|
||||||
|
db.init();
|
||||||
|
|
||||||
|
function next() {
|
||||||
|
if (!users.length) return;
|
||||||
|
|
||||||
|
const { ip, name } = users.shift();
|
||||||
|
db.users.getUser(name, (err, u) => {
|
||||||
|
if (err === 'User does not exist') {
|
||||||
|
process.nextTick(next);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (err) throw err;
|
||||||
|
|
||||||
|
session.genSession(u, Date.now() + 24 * 3600 * 1000, (err, s) => {
|
||||||
|
if (err) throw err;
|
||||||
|
|
||||||
|
if (ip2chan.has(ip)) {
|
||||||
|
//s = require('cookie-signature').sign(s, 'change-me');
|
||||||
|
console.log(`${ip}\t${name}\t${s}\t${ip2chan.get(ip)}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
process.nextTick(next);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
next();
|
|
@ -137,7 +137,25 @@ module.exports.query = function (query, sub, callback) {
|
||||||
process.nextTick(callback, null, res[0]);
|
process.nextTick(callback, null, res[0]);
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
queryErrorCount.inc(1);
|
queryErrorCount.inc(1);
|
||||||
LOGGER.error('Legacy DB query failed. Query: %s, Substitutions: %j, Error: %s', query, sub, error);
|
|
||||||
|
let subs = JSON.stringify(sub);
|
||||||
|
if (subs.length > 100) {
|
||||||
|
subs = subs.substring(0, 100) + '...';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Attempt to strip off the beginning of the message which
|
||||||
|
// contains the entire substituted SQL query (followed by an
|
||||||
|
// error code)
|
||||||
|
// Thanks MySQL/MariaDB...
|
||||||
|
error.message = error.message.replace(/^.* - ER/, 'ER');
|
||||||
|
|
||||||
|
LOGGER.error(
|
||||||
|
'Legacy DB query failed. Query: %s, Substitutions: %s, ' +
|
||||||
|
'Error: %s',
|
||||||
|
query,
|
||||||
|
subs,
|
||||||
|
error
|
||||||
|
);
|
||||||
process.nextTick(callback, 'Database failure', null);
|
process.nextTick(callback, 'Database failure', null);
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
end();
|
end();
|
||||||
|
|
Loading…
Reference in New Issue