Add custom logging framework and debug option
This commit is contained in:
parent
8eb6812f54
commit
656d0322e6
8 changed files with 147 additions and 72 deletions
|
@ -10,56 +10,59 @@
|
|||
|
||||
"use strict";
|
||||
|
||||
let logger;
|
||||
// Startup
|
||||
console.log("[ai-filter] background.js loaded – ready to classify");
|
||||
(async () => {
|
||||
logger = await import(browser.runtime.getURL("logger.js"));
|
||||
logger.aiLog("background.js loaded – ready to classify", {debug: true});
|
||||
try {
|
||||
const store = await browser.storage.local.get(["endpoint", "templateName", "customTemplate", "customSystemPrompt", "aiParams"]);
|
||||
const store = await browser.storage.local.get(["endpoint", "templateName", "customTemplate", "customSystemPrompt", "aiParams", "debugLogging"]);
|
||||
logger.setDebug(store.debugLogging);
|
||||
await browser.aiFilter.initConfig(store);
|
||||
console.log("[ai-filter] configuration loaded", store);
|
||||
logger.aiLog("configuration loaded", {debug: true}, store);
|
||||
try {
|
||||
await browser.DomContentScript.registerWindow(
|
||||
"chrome://messenger/content/FilterEditor.xhtml",
|
||||
"resource://aifilter/content/filterEditor.js"
|
||||
);
|
||||
console.log("[ai-filter] registered FilterEditor content script");
|
||||
logger.aiLog("registered FilterEditor content script", {debug: true});
|
||||
} catch (e) {
|
||||
console.error("[ai-filter] failed to register content script", e);
|
||||
logger.aiLog("failed to register content script", {level: 'error'}, e);
|
||||
}
|
||||
} catch (err) {
|
||||
console.error("[ai-filter] failed to load config:", err);
|
||||
logger.aiLog("failed to load config", {level: 'error'}, err);
|
||||
}
|
||||
})();
|
||||
|
||||
// Listen for messages from UI/devtools
|
||||
browser.runtime.onMessage.addListener((msg) => {
|
||||
console.log("[ai-filter] onMessage received:", msg);
|
||||
logger.aiLog("onMessage received", {debug: true}, msg);
|
||||
|
||||
if (msg?.type === "aiFilter:test") {
|
||||
const { text = "", criterion = "" } = msg;
|
||||
console.log("[ai-filter] aiFilter:test – text:", text);
|
||||
console.log("[ai-filter] aiFilter:test – criterion:", criterion);
|
||||
logger.aiLog("aiFilter:test – text", {debug: true}, text);
|
||||
logger.aiLog("aiFilter:test – criterion", {debug: true}, criterion);
|
||||
|
||||
try {
|
||||
console.log("[ai-filter] Calling browser.aiFilter.classify()");
|
||||
logger.aiLog("Calling browser.aiFilter.classify()", {debug: true});
|
||||
const result = browser.aiFilter.classify(text, criterion);
|
||||
console.log("[ai-filter] classify() returned:", result);
|
||||
logger.aiLog("classify() returned", {debug: true}, result);
|
||||
return { match: result };
|
||||
}
|
||||
catch (err) {
|
||||
console.error("[ai-filter] Error in classify():", err);
|
||||
logger.aiLog("Error in classify()", {level: 'error'}, err);
|
||||
// rethrow so the caller sees the failure
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
else {
|
||||
console.warn("[ai-filter] Unknown message type, ignoring:", msg?.type);
|
||||
logger.aiLog("Unknown message type, ignoring", {level: 'warn'}, msg?.type);
|
||||
}
|
||||
});
|
||||
|
||||
// Catch any unhandled rejections
|
||||
window.addEventListener("unhandledrejection", ev => {
|
||||
console.error("[ai-filter] Unhandled promise rejection:", ev.reason);
|
||||
logger.aiLog("Unhandled promise rejection", {level: 'error'}, ev.reason);
|
||||
});
|
||||
|
||||
browser.runtime.onInstalled.addListener(async ({ reason }) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue