Fixed some files

This commit is contained in:
mrfry 2020-11-23 17:11:16 +01:00
parent 7fcb15da88
commit b7ac485689
8 changed files with 250 additions and 199 deletions

View file

@ -37,7 +37,7 @@ module.exports = {
const DELIM = C('green') + '|' + C()
const utils = require('../utils/utils.js')
import utils from '../utils/utils'
const vlogDir = './stats/vlogs/'
const logDir = './stats/logs/'
const statFile = 'stats/stats'
@ -47,15 +47,20 @@ const uvStatsFile = 'stats/uvstats'
const nologFile = './nolog'
const colors = ['green', 'red', 'yellow', 'blue', 'magenta', 'cyan']
var logFileName = utils.GetDateString(true)
let logFileName = utils.GetDateString(true)
const writeInterval = 10
const debugLevel = parseInt(process.env.NS_LOGLEVEL) || 0
let data = {} // visit data
let vData = {} // visit data, but daily
let uData = {} // visit data, but per user
let uvData = {} // visit data, but per user and daily
// let vdata = {} // visit data
// let dvData = {} // visit data, but daily
// let uData = {} // visit data, but per user
// let udvData = {} // visit data, but per user and daily
let vData = {} // visit data
let dvData = {} // visit data, but daily
let uvData = {} // visit data, but per user
let udvData = {} // visit data, but per user and daily
let writes = 0
let noLogips = []
@ -75,25 +80,25 @@ function DebugLog(msg, name, lvl) {
if (msg === 'hr') {
msg = hr
}
let s = msg
let header = `${C('red')}#DEBUG${lvl}#${C(
let res = msg
const header = `${C('red')}#DEBUG${lvl}#${C(
'yellow'
)}${name.toUpperCase()}${C('red')}#${C()}${DELIM}${C()}`
if (typeof msg !== 'object') {
s = header + msg
res = header + msg
} else {
Log(header + 'OBJECT:', 'yellow')
s = msg
res = msg
}
Log(s, 'yellow')
Log(res, 'yellow')
}
}
function Log(s, c) {
let log = s
function Log(msg, color) {
let log = msg
if (typeof s !== 'object') {
let dl = DELIM + C(c)
log = C(c) + GetDateString() + dl + s + C()
const delimiter = DELIM + C(color)
log = C(color) + GetDateString() + delimiter + msg + C()
}
console.log(log)
@ -102,10 +107,10 @@ function Log(s, c) {
function LogReq(req, toFile, sc) {
try {
let ip = req.headers['cf-connecting-ip'] || req.connection.remoteAddress
const ip = req.headers['cf-connecting-ip'] || req.connection.remoteAddress
let nolog = noLogips.some((x) => {
return ip.includes(x)
const nolog = noLogips.some((noLogip) => {
return ip.includes(noLogip)
})
if (nolog) {
return
@ -148,7 +153,7 @@ function LogReq(req, toFile, sc) {
if (!toFile) {
Log(logEntry)
} else {
let defLogs = GetDateString() + dl + logEntry
const defLogs = GetDateString() + dl + logEntry
utils.AppendToFile(defLogs, vlogDir + logFileName)
}
@ -163,8 +168,8 @@ function parseNoLogFile(newData) {
if (noLogips[noLogips.length - 1] === '') {
noLogips.pop()
}
noLogips = noLogips.filter((x) => {
return x !== ''
noLogips = noLogips.filter((noLogip) => {
return noLogip !== ''
})
Log('\tNo Log IP-s changed: ' + noLogips.join(', '))
}
@ -180,43 +185,41 @@ function setNoLogReadInterval() {
function Load() {
Log('Loading logger...')
try {
uData = JSON.parse(utils.ReadFile(uStatsFile))
} catch (e) {
uvData = JSON.parse(utils.ReadFile(uStatsFile))
} catch (err) {
Log('Error at loading logs! (@ first run its normal)', GetColor('redbg'))
console.log(e)
console.error(err)
}
try {
uvData = JSON.parse(utils.ReadFile(uvStatsFile))
} catch (e) {
udvData = JSON.parse(utils.ReadFile(uvStatsFile))
} catch (err) {
Log('Error at loading logs! (@ first run its normal)', GetColor('redbg'))
console.log(e)
console.error(err)
}
try {
var prevData = utils.ReadFile(statFile)
data = JSON.parse(prevData)
} catch (e) {
vData = utils.ReadJSON(statFile)
} catch (err) {
Log('Error at loading logs! (@ first run its normal)', GetColor('redbg'))
console.log(e)
console.error(err)
}
try {
var prevVData = utils.ReadFile(vStatFile)
vData = JSON.parse(prevVData)
} catch (e) {
dvData = utils.ReadJSON(vStatFile)
} catch (err) {
Log(
'Error at loading visit logs! (@ first run its normal)',
GetColor('redbg')
)
console.log(e)
console.error(err)
}
setNoLogReadInterval()
}
function LogStat(url, ip, hostname, userId) {
let nolog = noLogips.some((x) => {
return x.includes(ip)
const nolog = noLogips.some((noLogips) => {
return ip.includes(noLogips)
})
if (nolog) {
return
@ -232,35 +235,35 @@ function LogStat(url, ip, hostname, userId) {
function IncUserStat(userId) {
try {
if (uData[userId] === undefined) {
uData[userId] = 0
if (uvData[userId] === undefined) {
uvData[userId] = 0
}
uData[userId]++
} catch (e) {
uvData[userId]++
} catch (err) {
Log('Error at making user ID stats!', GetColor('redbg'))
console.error(e)
console.error(err)
}
}
function AddUserIdStat(userId) {
try {
var m = new Date()
const date = new Date()
const now =
m.getFullYear() +
date.getFullYear() +
'-' +
('0' + (m.getMonth() + 1)).slice(-2) +
('0' + (date.getMonth() + 1)).slice(-2) +
'-' +
('0' + m.getDate()).slice(-2)
if (uvData[now] === undefined) {
uvData[now] = {}
('0' + date.getDate()).slice(-2)
if (udvData[now] === undefined) {
udvData[now] = {}
}
if (uvData[now][userId] === undefined) {
uvData[now][userId] = 0
if (udvData[now][userId] === undefined) {
udvData[now][userId] = 0
}
uvData[now][userId]++
} catch (e) {
udvData[now][userId]++
} catch (err) {
Log('Error at making user ID stats!', GetColor('redbg'))
console.error(e)
console.error(err)
}
}
@ -268,108 +271,108 @@ function Inc(value) {
if (value.startsWith('/?')) {
value = '/'
}
if (data[value] === undefined) {
data[value] = 0
if (vData[value] === undefined) {
vData[value] = 0
}
data[value]++
vData[value]++
}
function AddVisitStat(name) {
var m = new Date()
const date = new Date()
const now =
m.getFullYear() +
date.getFullYear() +
'-' +
('0' + (m.getMonth() + 1)).slice(-2) +
('0' + (date.getMonth() + 1)).slice(-2) +
'-' +
('0' + m.getDate()).slice(-2)
if (vData[now] === undefined) {
vData[now] = {}
('0' + date.getDate()).slice(-2)
if (dvData[now] === undefined) {
dvData[now] = {}
}
if (vData[now][name] === undefined) {
vData[now][name] = 0
if (dvData[now][name] === undefined) {
dvData[now][name] = 0
}
vData[now][name]++
dvData[now][name]++
}
function Save() {
writes++
if (writes === writeInterval) {
try {
utils.WriteFile(JSON.stringify(uData), uStatsFile)
} catch (e) {
utils.WriteFile(JSON.stringify(uvData), uStatsFile)
} catch (err) {
Log('Error at writing logs! (more in stderr)', GetColor('redbg'))
console.error(e)
console.error(err)
}
try {
utils.WriteFile(JSON.stringify(uvData), uvStatsFile)
} catch (e) {
utils.WriteFile(JSON.stringify(udvData), uvStatsFile)
} catch (err) {
Log('Error at writing logs! (more in stderr)', GetColor('redbg'))
console.error(e)
console.error(err)
}
try {
utils.WriteFile(JSON.stringify(data), statFile)
utils.WriteFile(JSON.stringify(vData), statFile)
// Log("Stats wrote.");
} catch (e) {
} catch (err) {
Log('Error at writing logs! (more in stderr)', GetColor('redbg'))
console.error(e)
console.error(err)
}
try {
utils.WriteFile(JSON.stringify(vData), vStatFile)
utils.WriteFile(JSON.stringify(dvData), vStatFile)
// Log("Stats wrote.");
} catch (e) {
} catch (err) {
Log('Error at writing visit logs! (more in stderr)', GetColor('redbg'))
console.error(e)
console.error(err)
}
writes = 0
}
}
function logHashed(x) {
return GetRandomColor(x.toString()) + x + C()
function logHashed(msg) {
return GetRandomColor(msg.toString()) + msg + C()
}
function GetRandomColor(ip) {
if (!ip) {
function GetRandomColor(msg) {
if (!msg) {
return 'red'
}
let res = ip.split('').reduce((res, x) => {
return res + x.charCodeAt(0)
const res = msg.split('').reduce((res, character) => {
return res + character.charCodeAt(0)
}, 0)
return C(colors[res % colors.length])
}
function GetColor(c) {
return c
function GetColor(color) {
return color
}
function C(c) {
if (c !== undefined) {
c = c.toLowerCase()
function C(color?: string) {
if (color !== undefined) {
color = color.toLowerCase()
}
if (c === 'redbg') {
if (color === 'redbg') {
return '\x1b[41m'
}
if (c === 'bluebg') {
if (color === 'bluebg') {
return '\x1b[44m'
}
if (c === 'green') {
if (color === 'green') {
return '\x1b[32m'
}
if (c === 'red') {
if (color === 'red') {
return '\x1b[31m'
}
if (c === 'yellow') {
if (color === 'yellow') {
return '\x1b[33m'
}
if (c === 'blue') {
if (color === 'blue') {
return '\x1b[34m'
}
if (c === 'magenta') {
if (color === 'magenta') {
return '\x1b[35m'
}
if (c === 'cyan') {
if (color === 'coloryan') {
return '\x1b[36m'
}
return '\x1b[0m'