logger.js refactoring

This commit is contained in:
YourFriendlyNeighborhoodDealer 2019-08-14 10:33:38 +02:00
parent 8a92e5651f
commit 9cacee321c

View file

@ -1,4 +1,4 @@
/* ----------------------------------------------------------------------------
/* ----------------------------------------------------------------------------
Question Server
GitLab: <https://gitlab.com/YourFriendlyNeighborhoodDealer/question-node-server>
@ -19,86 +19,72 @@
------------------------------------------------------------------------- */
module.exports = {
GetDateString: GetDateString,
Log: Log,
GetColor: GetColor,
LogReq: LogReq
};
const DELIM = "|";
var utils = require('./utils.js');
const nlogFile = "stats/nlogs";
const logFile = "/nlogs/nlogs";
const locLogFile = "stats/logs";
const allLogFile = "/nlogs/log";
function GetDateString() {
var m = new Date();
return m.getFullYear() + "/" +
("0" + (m.getMonth() + 1)).slice(-2) + "/" +
("0" + m.getDate()).slice(-2) + " " +
("0" + m.getHours()).slice(-2) + ":" +
("0" + m.getMinutes()).slice(-2) + ":" +
("0" + m.getSeconds()).slice(-2);
GetDateString: GetDateString,
Log: Log,
GetColor: GetColor,
LogReq: LogReq
}
function Log(s, c, b) {
if (c != undefined)
console.log(c, GetDateString() + DELIM + s);
else
console.log(GetDateString() + DELIM + s);
const DELIM = '|'
if (b)
utils.Beep();
var utils = require('../utils/utils.js')
const nlogFile = '../stats/nlogs'
const locLogFile = '../stats/logs'
const logFile = '/nlogs/nlogs'
const allLogFile = '/nlogs/log'
utils.AppendToFile(GetDateString() + DELIM + s, nlogFile);
utils.AppendToFile(GetDateString() + DELIM + s, logFile);
function GetDateString () {
var m = new Date()
return m.getFullYear() + '/' +
('0' + (m.getMonth() + 1)).slice(-2) + '/' +
('0' + m.getDate()).slice(-2) + ' ' +
('0' + m.getHours()).slice(-2) + ':' +
('0' + m.getMinutes()).slice(-2) + ':' +
('0' + m.getSeconds()).slice(-2)
}
function LogReq(req, toFile, sc) {
try {
var ip = req.headers['cf-connecting-ip'] || req.connection.remoteAddress;
var logEntry = ip + DELIM + req.hostname + DELIM + req.headers['user-agent'] +
DELIM + req.method + DELIM;
function Log (s, c, b) {
if (c != undefined) { console.log(c, GetDateString() + DELIM + s) } else { console.log(GetDateString() + DELIM + s) }
logEntry += req.url;
if (b) { utils.Beep() }
if (sc != undefined && sc == 404)
logEntry += DELIM + sc;
var color = GetColor("green");
if (req.url.toLowerCase().includes("isadding"))
color = GetColor("yellow");
if (!toFile) {
Log(logEntry, color);
} else {
var defLogs = GetDateString() + DELIM + logEntry;
var extraLogs = "\n\t" + JSON.stringify(req.headers) + "\n\t" + JSON.stringify(req.body) + "\n";
utils.AppendToFile(defLogs, locLogFile);
utils.AppendToFile(defLogs, allLogFile);
}
} catch (e) {
console.log(e);
Log("Error at logging lol", GetColor("redbg"), true);
}
utils.AppendToFile(GetDateString() + DELIM + s, nlogFile)
utils.AppendToFile(GetDateString() + DELIM + s, logFile)
}
function GetColor(c) {
if (c == "redbg")
return '\x1b[41m%s\x1b[0m';
if (c == "bluebg")
return '\x1b[44m%s\x1b[0m';
if (c == "red")
return '\x1b[31m%s\x1b[0m';
if (c == "green")
return '\x1b[32m%s\x1b[0m';
if (c == "yellow")
return '\x1b[33m%s\x1b[0m';
if (c == "blue")
return '\x1b[34m%s\x1b[0m';
if (c == "cyan")
return '\x1b[36m%s\x1b[0m';
function LogReq (req, toFile, sc) {
try {
var ip = req.headers['cf-connecting-ip'] || req.connection.remoteAddress
var logEntry = ip + DELIM + req.hostname + DELIM + req.headers['user-agent'] +
DELIM + req.method + DELIM
logEntry += req.url
if (sc != undefined && sc == 404) { logEntry += DELIM + sc }
var color = GetColor('green')
if (req.url.toLowerCase().includes('isadding')) { color = GetColor('yellow') }
if (!toFile) {
Log(logEntry, color)
} else {
var defLogs = GetDateString() + DELIM + logEntry
var extraLogs = '\n\t' + JSON.stringify(req.headers) + '\n\t' + JSON.stringify(req.body) + '\n'
utils.AppendToFile(defLogs, locLogFile)
utils.AppendToFile(defLogs, allLogFile)
}
} catch (e) {
console.log(e)
Log('Error at logging lol', GetColor('redbg'), true)
}
}
function GetColor (c) {
if (c == 'redbg') { return '\x1b[41m%s\x1b[0m' }
if (c == 'bluebg') { return '\x1b[44m%s\x1b[0m' }
if (c == 'red') { return '\x1b[31m%s\x1b[0m' }
if (c == 'green') { return '\x1b[32m%s\x1b[0m' }
if (c == 'yellow') { return '\x1b[33m%s\x1b[0m' }
if (c == 'blue') { return '\x1b[34m%s\x1b[0m' }
if (c == 'cyan') { return '\x1b[36m%s\x1b[0m' }
}