logging fixes
This commit is contained in:
parent
5890192751
commit
646d98588a
@ -416,19 +416,25 @@ class Logger {
|
|||||||
if (!this.conf.fileOptions?.enabled) {
|
if (!this.conf.fileOptions?.enabled) {
|
||||||
return;
|
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['logger-settings'] = this.conf.fileOptions;
|
||||||
exportObject['backgroundLog'] = JSON.parse(JSON.stringify(this.history));
|
exportObject['backgroundLog'] = JSON.parse(JSON.stringify(this.history));
|
||||||
exportObject['popupLog'] = 'NOT IMPLEMENTED';
|
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);
|
const fileUrl = URL.createObjectURL(blob);
|
||||||
|
|
||||||
|
console.info("[ ok ] fileUrl created");
|
||||||
try {
|
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']});
|
await browser.permissions.request({permissions: ['downloads']});
|
||||||
|
console.info("[ ok ] download permissions ok");
|
||||||
browser.downloads.download({saveAs: true, filename: 'extension-log.json', url: fileUrl});
|
browser.downloads.download({saveAs: true, filename: 'extension-log.json', url: fileUrl});
|
||||||
} else if (BrowserDetect.chrome) {
|
} else if (BrowserDetect.chrome) {
|
||||||
|
console.info("[info] we are using chrome");
|
||||||
const ths = this;
|
const ths = this;
|
||||||
|
|
||||||
chrome.permissions.request(
|
chrome.permissions.request(
|
||||||
@ -445,6 +451,7 @@ class Logger {
|
|||||||
this.globalHistory = {};
|
this.globalHistory = {};
|
||||||
this.history = [];
|
this.history = [];
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
console.error("[fail] error while saving file.", e);
|
||||||
this.downloadPermissionError = true;
|
this.downloadPermissionError = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,14 @@ class CommsClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.logger.onLogEnd(
|
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;
|
var ths = this;
|
||||||
|
@ -55,7 +55,7 @@ class CommsServer {
|
|||||||
],
|
],
|
||||||
'get-config': [
|
'get-config': [
|
||||||
(message, port) => {
|
(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(
|
port.postMessage(
|
||||||
{cmd: "set-config", conf: this.settings.active, site: this.server.currentSite}
|
{cmd: "set-config", conf: this.settings.active, site: this.server.currentSite}
|
||||||
);
|
);
|
||||||
@ -80,7 +80,7 @@ class CommsServer {
|
|||||||
(message, sender, sendResponse) => {
|
(message, sender, sendResponse) => {
|
||||||
if (BrowserDetect.firefox) {
|
if (BrowserDetect.firefox) {
|
||||||
var ret = {extensionConf: JSON.stringify(this.settings.active)};
|
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);
|
Promise.resolve(ret);
|
||||||
} else {
|
} else {
|
||||||
sendResponse({extensionConf: JSON.stringify(this.settings.active)});
|
sendResponse({extensionConf: JSON.stringify(this.settings.active)});
|
||||||
@ -93,7 +93,7 @@ class CommsServer {
|
|||||||
this.settings.active.sites['@global'].autoar = "blacklist";
|
this.settings.active.sites['@global'].autoar = "blacklist";
|
||||||
this.settings.save();
|
this.settings.save();
|
||||||
this.sendToAll({cmd: "reload-settings", sender: "uwbg"})
|
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': [
|
'autoar-disable': [
|
||||||
@ -106,12 +106,12 @@ class CommsServer {
|
|||||||
}
|
}
|
||||||
this.settings.save();
|
this.settings.save();
|
||||||
this.sendToAll({cmd: 'reload-settings', newConf: this.settings.active});
|
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': [
|
'autoar-set-interval': [
|
||||||
(message) => {
|
(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
|
// set fairly liberal limit
|
||||||
var timeout = message.timeout < 4 ? 4 : message.timeout;
|
var timeout = message.timeout < 4 ? 4 : message.timeout;
|
||||||
@ -122,15 +122,15 @@ class CommsServer {
|
|||||||
],
|
],
|
||||||
'logging-stop-and-save': [ // TODO: possibly never used/superseded — check
|
'logging-stop-and-save': [ // TODO: possibly never used/superseded — check
|
||||||
(message, sender) => {
|
(message, sender) => {
|
||||||
this.logger.log('info', 'CommsServer', "Received command to stop logging and export the received input");
|
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.addToGlobalHistory(`${message.host}::${sender?.tab?.id ?? '×'}-${sender.frameId ?? '×'}`, JSON.parse(message.history));
|
||||||
this.logger.finish();
|
this.logger.finish();
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
'logging-save': [
|
'logging-save': [
|
||||||
(message, sender) => {
|
(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.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));
|
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) {
|
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 (isNaN(tab)) {
|
||||||
if (tab === '__playing') {
|
if (tab === '__playing') {
|
||||||
@ -191,23 +191,23 @@ class CommsServer {
|
|||||||
[tab, frame] = tab.split('-')
|
[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 {
|
try {
|
||||||
this.ports[tab][frame].postMessage(message);
|
this.ports[tab][frame].postMessage(message);
|
||||||
} catch (e) {
|
} 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) {
|
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();
|
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]) {
|
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]) {
|
for (var key in this.ports[tabs[0].id]) {
|
||||||
@ -242,26 +242,31 @@ class CommsServer {
|
|||||||
|
|
||||||
|
|
||||||
execCmd(message, portOrSender, sendResponse) {
|
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]) {
|
for (const c of this.commands[message.cmd]) {
|
||||||
c(message, portOrSender, sendResponse);
|
c(message, portOrSender, sendResponse);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async processReceivedMessage(message, port){
|
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) {
|
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);
|
this.sendToFrame(message, message.targetTab, message.targetFrame);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (message.forwardToAll) {
|
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);
|
this.sendToAll(message);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (message.forwardToActive) {
|
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);
|
this.sendToActive(message);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -270,11 +275,11 @@ class CommsServer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
processReceivedMessage_nonpersistent(message, sender, sendResponse){
|
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) {
|
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', 'comms', "[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] (btw we probably shouldn't be seeing this. This should prolly happen in persistent connection?");
|
||||||
|
|
||||||
this.sendToFrame(message, message.targetFrame);
|
this.sendToFrame(message, message.targetFrame);
|
||||||
return;
|
return;
|
||||||
|
@ -32,8 +32,16 @@ class UWServer {
|
|||||||
async setup() {
|
async setup() {
|
||||||
// logger is the first thing that goes up
|
// logger is the first thing that goes up
|
||||||
const loggingOptions = {
|
const loggingOptions = {
|
||||||
|
isBackgroundScript: true,
|
||||||
allowLogging: true,
|
allowLogging: true,
|
||||||
|
useConfFromStorage: true,
|
||||||
logAll: true,
|
logAll: true,
|
||||||
|
fileOptions: {
|
||||||
|
enabled: true,
|
||||||
|
},
|
||||||
|
consoleOptions: {
|
||||||
|
enabled: true
|
||||||
|
}
|
||||||
};
|
};
|
||||||
this.logger = new Logger();
|
this.logger = new Logger();
|
||||||
await this.logger.init(loggingOptions);
|
await this.logger.init(loggingOptions);
|
||||||
|
@ -43,6 +43,7 @@ class UW {
|
|||||||
try {
|
try {
|
||||||
if (!this.logger) {
|
if (!this.logger) {
|
||||||
const loggingOptions = {
|
const loggingOptions = {
|
||||||
|
isContentScript: true,
|
||||||
allowLogging: true,
|
allowLogging: true,
|
||||||
useConfFromStorage: true,
|
useConfFromStorage: true,
|
||||||
fileOptions: {
|
fileOptions: {
|
||||||
|
Loading…
Reference in New Issue
Block a user