add some log options, might make a viewer when i get more samples
This commit is contained in:
@@ -1,10 +1,10 @@
|
|||||||
var minisrv_service_file = true;
|
const minisrv_service_file = true;
|
||||||
|
|
||||||
// write posted log data to disk. should be decrypted by this point (if it was encrypted) if the crypto stream didn't break
|
// write posted log data to disk. should be decrypted by this point (if it was encrypted) if the crypto stream didn't break
|
||||||
|
|
||||||
request_is_async = true;
|
request_is_async = true;
|
||||||
data = '';
|
data = '';
|
||||||
var fullpath = __dirname + "/ServiceLogPost/" + Math.floor(new Date().getTime() / 1000) + "_" + request_headers.query.type;
|
const fullpath = __dirname + "/ServiceLogPost/" + Math.floor(new Date().getTime() / 1000) + "_" + request_headers.query.type;
|
||||||
if (socket.ssid) fullpath += "_" + socket.ssid;
|
if (socket.ssid) fullpath += "_" + socket.ssid;
|
||||||
fullpath += ".txt";
|
fullpath += ".txt";
|
||||||
|
|
||||||
@@ -23,10 +23,48 @@ Content-length: 0`;
|
|||||||
var logdata_outstring_hex = Buffer.from(logdata_outstring, 'utf8').toString('hex');
|
var logdata_outstring_hex = Buffer.from(logdata_outstring, 'utf8').toString('hex');
|
||||||
logdata_outstring_hex += request_headers.post_data.toString(CryptoJS.enc.Hex);
|
logdata_outstring_hex += request_headers.post_data.toString(CryptoJS.enc.Hex);
|
||||||
if (minisrv_config.services[service_name].write_logs_to_disk) {
|
if (minisrv_config.services[service_name].write_logs_to_disk) {
|
||||||
|
if (minisrv_config.services[service_name].dont_save_chat_logs && request_headers.query.type === 'chat') {
|
||||||
|
sendToClient(socket, headers, data);
|
||||||
|
} else {
|
||||||
fs.writeFile(fullpath, logdata_outstring_hex, "Hex", function () {
|
fs.writeFile(fullpath, logdata_outstring_hex, "Hex", function () {
|
||||||
if (!minisrv_config.config.debug_flags.quiet) console.log(" * Wrote POST log data from", wtvshared.filterSSID(socket.ssid), "for", socket.id);
|
if (!minisrv_config.config.debug_flags.quiet) console.log(" * Wrote POST log data from", wtvshared.filterSSID(socket.ssid), "for", socket.id);
|
||||||
sendToClient(socket, headers, data);
|
sendToClient(socket, headers, data);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
fs.readdir(__dirname + "/ServiceLogPost/", function (err, files) {
|
||||||
|
if (err) {
|
||||||
|
if (!minisrv_config.config.debug_flags.quiet) console.error("Error reading log directory:", err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var ssid = socket.ssid ? socket.ssid.toString() : '';
|
||||||
|
var count = files.filter(function (file) {
|
||||||
|
return ssid && file.includes(ssid);
|
||||||
|
}).length;
|
||||||
|
if (count > minisrv_config.services[service_name].max_logs_per_ssid) {
|
||||||
|
var ssidFiles = files
|
||||||
|
.filter(function (file) {
|
||||||
|
return ssid && file.includes(ssid);
|
||||||
|
})
|
||||||
|
.map(function (file) {
|
||||||
|
return {
|
||||||
|
name: file,
|
||||||
|
time: fs.statSync(__dirname + "/ServiceLogPost/" + file).mtime.getTime()
|
||||||
|
};
|
||||||
|
})
|
||||||
|
.sort(function (a, b) {
|
||||||
|
return a.time - b.time;
|
||||||
|
});
|
||||||
|
|
||||||
|
if (ssidFiles.length > 0) {
|
||||||
|
var oldestFile = ssidFiles[0].name;
|
||||||
|
fs.unlink(__dirname + "/ServiceLogPost/" + oldestFile, function (err) {
|
||||||
|
if (err && !minisrv_config.config.debug_flags.quiet) {
|
||||||
|
console.error("Error deleting oldest log file:", err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
sendToClient(socket, headers, data);
|
sendToClient(socket, headers, data);
|
||||||
}
|
}
|
||||||
|
|||||||
33
zefie_wtvp_minisrv/includes/ServiceVault/wtv-log/viewer.js
Normal file
33
zefie_wtvp_minisrv/includes/ServiceVault/wtv-log/viewer.js
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
const minisrv_service_file = true;
|
||||||
|
|
||||||
|
function getSortedLogFiles(ssid) {
|
||||||
|
const logDir = path.join(__dirname, './ServiceLogPost');
|
||||||
|
const files = fs.readdirSync(logDir)
|
||||||
|
.filter(file => file.endsWith('.txt') && file.includes(ssid))
|
||||||
|
.map(file => ({
|
||||||
|
name: file,
|
||||||
|
time: fs.statSync(path.join(logDir, file)).mtime.getTime()
|
||||||
|
}))
|
||||||
|
.sort((a, b) => b.time - a.time)
|
||||||
|
.map(file => file.name);
|
||||||
|
|
||||||
|
return files;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Example usage
|
||||||
|
const ssid = socket.ssid; // Replace with the actual SSID
|
||||||
|
const sortedFiles = getSortedLogFiles(ssid);
|
||||||
|
console.log(sortedFiles);
|
||||||
|
const notImplementedAlert = new clientShowAlert({
|
||||||
|
'image': minisrv_config.config.service_logo,
|
||||||
|
'message': "This feature is not available.",
|
||||||
|
'buttonlabel1': "Okay",
|
||||||
|
'buttonaction1': "client:donothing",
|
||||||
|
'noback': true,
|
||||||
|
}).getURL();
|
||||||
|
|
||||||
|
headers = `300 OK
|
||||||
|
Content-type: text/html
|
||||||
|
Location: ${notImplementedAlert}
|
||||||
|
`
|
||||||
|
|
||||||
@@ -242,7 +242,9 @@
|
|||||||
// wtv-log
|
// wtv-log
|
||||||
"port": 1609,
|
"port": 1609,
|
||||||
"connections": 1,
|
"connections": 1,
|
||||||
"write_logs_to_disk": false // set this to true to save logs to the error_log_file set above
|
"write_logs_to_disk": true, // set this to false to not save logs the ServiceLogPost folder
|
||||||
|
"dont_save_chat_logs": true, // They just take up space unless you want to monitor your user's joins and disconnects, doesn't log messages either way
|
||||||
|
"max_logs_per_ssid": 50
|
||||||
},
|
},
|
||||||
"wtv-favorite": {
|
"wtv-favorite": {
|
||||||
// wtv-favorite
|
// wtv-favorite
|
||||||
|
|||||||
Reference in New Issue
Block a user