Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save ttlcsolutions-sketch/064b248cf9e5c5c4f5a90275fd6dd7b3 to your computer and use it in GitHub Desktop.

Select an option

Save ttlcsolutions-sketch/064b248cf9e5c5c4f5a90275fd6dd7b3 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