Skip to content

Instantly share code, notes, and snippets.

@ScottJWalter
Forked from liamcain/obsidian-debug-mobile.js
Created December 22, 2024 22:10
Show Gist options
  • Save ScottJWalter/97e332f8d2c8c6d526d3b9c5ffa422f3 to your computer and use it in GitHub Desktop.
Save ScottJWalter/97e332f8d2c8c6d526d3b9c5ffa422f3 to your computer and use it in GitHub Desktop.
Save console messages to logfile for mobile debugging
declare module "obsidian" {
interface App {
isMobile: boolean;
}
}
// Call this method inside your plugin's `onLoad` function
function monkeyPatchConsole(plugin: Plugin) {
if (!plugin.app.isMobile) {
return;
}
const logFile = `${plugin.manifest.dir}/logs.txt`;
const logs: string[] = [];
const logMessages = (prefix: string) => (...messages: unknown[]) => {
logs.push(`\n[${prefix}]`);
for (const message of messages) {
logs.push(String(message));
}
plugin.app.vault.adapter.write(logFile, logs.join(" "));
};
console.debug = logMessages("debug");
console.error = logMessages("error");
console.info = logMessages("info");
console.log = logMessages("log");
console.warn = logMessages("warn");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment