logging fixes
This commit is contained in:
parent
5890192751
commit
646d98588a
@ -416,19 +416,25 @@ class Logger {
|
||||
if (!this.conf.fileOptions?.enabled) {
|
||||
return;
|
||||
}
|
||||
const exportObject = {'pageLogs': JSON.parse(JSON.stringify({...this.globalHistory}))};
|
||||
console.info("\n\n\n\n---------- Starting export of log to file ----------------");
|
||||
exportObject['logger-settings'] = this.conf.fileOptions;
|
||||
exportObject['backgroundLog'] = JSON.parse(JSON.stringify(this.history));
|
||||
exportObject['popupLog'] = 'NOT IMPLEMENTED';
|
||||
|
||||
const blob = new Blob([JSON.stringify(exportObject)], {type: 'application/json'});
|
||||
console.info("[ ok ] ExportObject created");
|
||||
console.info("[info] json string for exportObject:", jsonString.length);
|
||||
console.info("[ ok ] Blob created");
|
||||
const fileUrl = URL.createObjectURL(blob);
|
||||
|
||||
console.info("[ ok ] fileUrl created");
|
||||
try {
|
||||
if (BrowserDetect.firefox) {
|
||||
console.log("[info] inside try/catch block. BrowserDetect:", currentBrowser);
|
||||
console.info("[info] we are using firefox");
|
||||
await browser.permissions.request({permissions: ['downloads']});
|
||||
console.info("[ ok ] download permissions ok");
|
||||
browser.downloads.download({saveAs: true, filename: 'extension-log.json', url: fileUrl});
|
||||
} else if (BrowserDetect.chrome) {
|
||||
console.info("[info] we are using chrome");
|
||||
const ths = this;
|
||||
|
||||
chrome.permissions.request(
|
||||
@ -445,6 +451,7 @@ class Logger {
|
||||
this.globalHistory = {};
|
||||
this.history = [];
|
||||
} catch (e) {
|
||||
console.error("[fail] error while saving file.", e);
|
||||
this.downloadPermissionError = true;
|
||||
}
|
||||
}
|
||||
|
@ -14,7 +14,14 @@ class CommsClient {
|
||||
}
|
||||
|
||||
this.logger.onLogEnd(
|
||||
(history) => this.port.postMessage({cmd: 'logging-stop-and-save', host: window.location.host, history})
|
||||
(history) => {
|
||||
this.logger.log('info', 'comms', 'Sending logging-stop-and-save to background script ...');
|
||||
try {
|
||||
this.port.postMessage({cmd: 'logging-stop-and-save', host: window.location.host, history})
|
||||
} catch (e) {
|
||||
this.logger.log('error', 'comms', 'Failed to send message to background script. Error:', e);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
var ths = this;
|
||||
|
@ -55,7 +55,7 @@ class CommsServer {
|
||||
],
|
||||
'get-config': [
|
||||
(message, port) => {
|
||||
this.logger.log('info', 'CommsServer', "CommsServer: received get-config. Active settings?", this.settings.active, "\n(settings:", this.settings, ")");
|
||||
this.logger.log('info', 'comms', "CommsServer: received get-config. Active settings?", this.settings.active, "\n(settings:", this.settings, ")");
|
||||
port.postMessage(
|
||||
{cmd: "set-config", conf: this.settings.active, site: this.server.currentSite}
|
||||
);
|
||||
@ -80,7 +80,7 @@ class CommsServer {
|
||||
(message, sender, sendResponse) => {
|
||||
if (BrowserDetect.firefox) {
|
||||
var ret = {extensionConf: JSON.stringify(this.settings.active)};
|
||||
this.logger.log('info', 'CommsServer', "%c[CommsServer.js::processMessage_nonpersistent] Returning this:", "background-color: #11D; color: #aad", ret);
|
||||
this.logger.log('info', 'comms', "%c[CommsServer.js::processMessage_nonpersistent] Returning this:", "background-color: #11D; color: #aad", ret);
|
||||
Promise.resolve(ret);
|
||||
} else {
|
||||
sendResponse({extensionConf: JSON.stringify(this.settings.active)});
|
||||
@ -93,7 +93,7 @@ class CommsServer {
|
||||
this.settings.active.sites['@global'].autoar = "blacklist";
|
||||
this.settings.save();
|
||||
this.sendToAll({cmd: "reload-settings", sender: "uwbg"})
|
||||
this.logger.log('info', 'CommsServer', "[uw-bg] autoar set to enabled (blacklist). evidenz:", this.settings.active);
|
||||
this.logger.log('info', 'comms', "[uw-bg] autoar set to enabled (blacklist). evidenz:", this.settings.active);
|
||||
}
|
||||
],
|
||||
'autoar-disable': [
|
||||
@ -106,12 +106,12 @@ class CommsServer {
|
||||
}
|
||||
this.settings.save();
|
||||
this.sendToAll({cmd: 'reload-settings', newConf: this.settings.active});
|
||||
this.logger.log('info', 'CommsServer', "[uw-bg] autoar set to disabled. evidenz:", this.settings.active);
|
||||
this.logger.log('info', 'comms', "[uw-bg] autoar set to disabled. evidenz:", this.settings.active);
|
||||
}
|
||||
],
|
||||
'autoar-set-interval': [
|
||||
(message) => {
|
||||
this.logger.log('info', 'CommsServer', `[uw-bg] trying to set new interval for autoAr. New interval is, ${message.timeout} ms`);
|
||||
this.logger.log('info', 'comms', `[uw-bg] trying to set new interval for autoAr. New interval is, ${message.timeout} ms`);
|
||||
|
||||
// set fairly liberal limit
|
||||
var timeout = message.timeout < 4 ? 4 : message.timeout;
|
||||
@ -122,15 +122,15 @@ class CommsServer {
|
||||
],
|
||||
'logging-stop-and-save': [ // TODO: possibly never used/superseded — check
|
||||
(message, sender) => {
|
||||
this.logger.log('info', 'CommsServer', "Received command to stop logging and export the received input");
|
||||
this.logger.addToGlobalHistory(`${message.host}::${sender.tab.id}-${sender.frameId}`, JSON.parse(message.history));
|
||||
this.logger.log('info', 'comms', "Received command to stop logging and export the received input");
|
||||
this.logger.addToGlobalHistory(`${message.host}::${sender?.tab?.id ?? '×'}-${sender.frameId ?? '×'}`, JSON.parse(message.history));
|
||||
this.logger.finish();
|
||||
}
|
||||
],
|
||||
'logging-save': [
|
||||
(message, sender) => {
|
||||
this.logger.log('info', 'CommsServer', `Received command to save log for site ${message.host} (tabId ${sender.tab.id}, frameId ${sender.frameId}`);
|
||||
this.logger.addToGlobalHistory(`${message?.host}::${sender?.tab?.id}-${sender?.frameId}`, JSON.parse(message.history));
|
||||
this.logger.log('info', 'comms', `Received command to save log for site ${message.host} (tabId ${sender.tab.id}, frameId ${sender.frameId}`);
|
||||
this.logger.addToGlobalHistory(`${message?.host}::${sender?.tab?.id ?? '×'}-${sender?.frameId ?? '×'}`, JSON.parse(message.history));
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -177,7 +177,7 @@ class CommsServer {
|
||||
}
|
||||
|
||||
async sendToFrame(message, tab, frame) {
|
||||
this.logger.log('info', 'CommsServer', `%c[CommsServer::sendToFrame] attempting to send message to tab ${tab}, frame ${frame}`, "background: #dda; color: #11D", message);
|
||||
this.logger.log('info', 'comms', `%c[CommsServer::sendToFrame] attempting to send message to tab ${tab}, frame ${frame}`, "background: #dda; color: #11D", message);
|
||||
|
||||
if (isNaN(tab)) {
|
||||
if (tab === '__playing') {
|
||||
@ -191,23 +191,23 @@ class CommsServer {
|
||||
[tab, frame] = tab.split('-')
|
||||
}
|
||||
|
||||
this.logger.log('info', 'CommsServer', `%c[CommsServer::sendToFrame] attempting to send message to tab ${tab}, frame ${frame}`, "background: #dda; color: #11D", message);
|
||||
this.logger.log('info', 'comms', `%c[CommsServer::sendToFrame] attempting to send message to tab ${tab}, frame ${frame}`, "background: #dda; color: #11D", message);
|
||||
|
||||
try {
|
||||
this.ports[tab][frame].postMessage(message);
|
||||
} catch (e) {
|
||||
this.logger.log('error', 'CommsServer', `%c[CommsServer::sendToFrame] Sending message failed. Reason:`, "background: #dda; color: #11D", e);
|
||||
this.logger.log('error', 'comms', `%c[CommsServer::sendToFrame] Sending message failed. Reason:`, "background: #dda; color: #11D", e);
|
||||
}
|
||||
}
|
||||
|
||||
async sendToActive(message) {
|
||||
this.logger.log('info', 'CommsServer', "%c[CommsServer::sendToActive] trying to send a message to active tab. Message:", "background: #dda; color: #11D", message);
|
||||
this.logger.log('info', 'comms', "%c[CommsServer::sendToActive] trying to send a message to active tab. Message:", "background: #dda; color: #11D", message);
|
||||
|
||||
var tabs = await this._getActiveTab();
|
||||
|
||||
this.logger.log('info', 'CommsServer', "[CommsServer::_sendToActive] currently active tab(s)?", tabs);
|
||||
this.logger.log('info', 'comms', "[CommsServer::_sendToActive] currently active tab(s)?", tabs);
|
||||
for (var key in this.ports[tabs[0].id]) {
|
||||
this.logger.log('info', 'CommsServer', "key?", key, this.ports[tabs[0].id]);
|
||||
this.logger.log('info', 'comms', "key?", key, this.ports[tabs[0].id]);
|
||||
}
|
||||
|
||||
for (var key in this.ports[tabs[0].id]) {
|
||||
@ -242,26 +242,31 @@ class CommsServer {
|
||||
|
||||
|
||||
execCmd(message, portOrSender, sendResponse) {
|
||||
this.logger.log(
|
||||
'info', 'comms', '[CommsServer.js::execCmd] Received message', message,
|
||||
". Port/sender:", portOrSender, "sendResponse:", sendResponse, "\nThere is ", this.commands[message.cmd].length,
|
||||
" command(s) for action", message.cmd
|
||||
);
|
||||
for (const c of this.commands[message.cmd]) {
|
||||
c(message, portOrSender, sendResponse);
|
||||
}
|
||||
}
|
||||
|
||||
async processReceivedMessage(message, port){
|
||||
this.logger.log('info', 'CommsServer', "[CommsServer.js::processReceivedMessage] Received message from popup/content script!", message, "port", port, "\nsettings and server:", this.settings,this.server);
|
||||
this.logger.log('info', 'comms', "[CommsServer.js::processReceivedMessage] Received message from popup/content script!", message, "port", port, "\nsettings and server:", this.settings,this.server);
|
||||
|
||||
if (message.forwardToContentScript) {
|
||||
this.logger.log('info', 'CommsServer', "[CommsServer.js::processReceivedMessage] Message has 'forward to content script' flag set. Forwarding message as is. Message:", message);
|
||||
this.logger.log('info', 'comms', "[CommsServer.js::processReceivedMessage] Message has 'forward to content script' flag set. Forwarding message as is. Message:", message);
|
||||
this.sendToFrame(message, message.targetTab, message.targetFrame);
|
||||
return;
|
||||
}
|
||||
if (message.forwardToAll) {
|
||||
this.logger.log('info', 'CommsServer', "[CommsServer.js::processReceivedMessage] Message has 'forward to all' flag set. Forwarding message as is. Message:", message);
|
||||
this.logger.log('info', 'comms', "[CommsServer.js::processReceivedMessage] Message has 'forward to all' flag set. Forwarding message as is. Message:", message);
|
||||
this.sendToAll(message);
|
||||
return;
|
||||
}
|
||||
if (message.forwardToActive) {
|
||||
this.logger.log('info', 'CommsServer', "[CommsServer.js::processReceivedMessage] Message has 'forward to active' flag set. Forwarding message as is. Message:", message);
|
||||
this.logger.log('info', 'comms', "[CommsServer.js::processReceivedMessage] Message has 'forward to active' flag set. Forwarding message as is. Message:", message);
|
||||
this.sendToActive(message);
|
||||
return;
|
||||
}
|
||||
@ -270,11 +275,11 @@ class CommsServer {
|
||||
}
|
||||
|
||||
processReceivedMessage_nonpersistent(message, sender, sendResponse){
|
||||
this.logger.log('info', 'CommsServer', "%c[CommsServer.js::processMessage_nonpersistent] Received message from background script!", "background-color: #11D; color: #aad", message, sender);
|
||||
this.logger.log('info', 'comms', "%c[CommsServer.js::processMessage_nonpersistent] Received message from background script!", "background-color: #11D; color: #aad", message, sender);
|
||||
|
||||
if (message.forwardToContentScript) {
|
||||
this.logger.log('info', 'CommsServer', "[CommsServer.js::processMessage_nonpersistent] Message has 'forward to content script' flag set. Forwarding message as is. Message:", message);
|
||||
this.logger.log('info', 'CommsServer', "[CommsServer.js::processMessage_nonpersistent] (btw we probably shouldn't be seeing this. This should prolly happen in persistent connection?");
|
||||
this.logger.log('info', 'comms', "[CommsServer.js::processMessage_nonpersistent] Message has 'forward to content script' flag set. Forwarding message as is. Message:", message);
|
||||
this.logger.log('info', 'comms', "[CommsServer.js::processMessage_nonpersistent] (btw we probably shouldn't be seeing this. This should prolly happen in persistent connection?");
|
||||
|
||||
this.sendToFrame(message, message.targetFrame);
|
||||
return;
|
||||
|
@ -32,8 +32,16 @@ class UWServer {
|
||||
async setup() {
|
||||
// logger is the first thing that goes up
|
||||
const loggingOptions = {
|
||||
isBackgroundScript: true,
|
||||
allowLogging: true,
|
||||
useConfFromStorage: true,
|
||||
logAll: true,
|
||||
fileOptions: {
|
||||
enabled: true,
|
||||
},
|
||||
consoleOptions: {
|
||||
enabled: true
|
||||
}
|
||||
};
|
||||
this.logger = new Logger();
|
||||
await this.logger.init(loggingOptions);
|
||||
|
@ -43,6 +43,7 @@ class UW {
|
||||
try {
|
||||
if (!this.logger) {
|
||||
const loggingOptions = {
|
||||
isContentScript: true,
|
||||
allowLogging: true,
|
||||
useConfFromStorage: true,
|
||||
fileOptions: {
|
||||
|
Loading…
Reference in New Issue
Block a user