Debug Evernote API issues with diagnostic tools and techniques.
Use when troubleshooting API calls, inspecting requests/responses,
or diagnosing integration problems.
Trigger with phrases like "debug evernote", "evernote diagnostic",
"troubleshoot evernote", "evernote logs", "inspect evernote".
Comprehensive debugging toolkit for Evernote API integrations, including request/response logging, ENML validation with auto-fix, token inspection, and diagnostic CLI utilities.
Prerequisites
Evernote SDK installed
Node.js environment
Understanding of common Evernote errors (see evernote-common-errors)
Instructions
Step 1: Debug Logger
Create a logger that captures API method names, arguments (with token redaction), response times, and error details. Write to both console and file for post-mortem analysis.
Wrap the NoteStore with a Proxy that automatically logs every API call, measures response time, and catches errors. This adds zero-config debugging to any existing integration.
Validate ENML content against the DTD rules: check for XML declaration, DOCTYPE, <en-note> root, forbidden elements, and unclosed tags. Optionally auto-fix common issues (add missing headers, close tags, strip forbidden elements).
Step 4: Token Inspector
Check token validity by calling userStore.getUser(). Report token owner, expiration date (edam_expires), account type, and remaining upload quota.
Step 5: Diagnostic CLI
Create a CLI script with commands: diagnose (run all checks), validate-enml <file> (validate ENML content), inspect-token (show token info), test-api (verify API connectivity).
For the full debug logger, instrumented client, ENML auto-fixer, token inspector, and diagnostic CLI, see Implementation Guide.
Output
EvernoteDebugLogger with file and console output
Proxy-based instrumented NoteStore wrapper
ENML validator with auto-fix capability
Token and account inspector utility
Diagnostic CLI with diagnose, validate-enml, inspect-token commands
For rate limit handling, see evernote-rate-limits.
Examples
Request tracing: Wrap NoteStore with the instrumented proxy, run your workflow, then review evernote-debug.log for slow calls (>2s), failed requests, and rate limit hits.
ENML debugging: Pipe note content through the ENML validator to find missing DOCTYPE, forbidden <script> tags, or unclosed elements. Use auto-fix mode to correct issues automatically.