# Plugin Logging and Debugging Log plugin registration and execution for debugging purposes. ```typescript title="WASM" import init, { registerPostProcessor, registerValidator, registerOcrBackend, listPostProcessors, listValidators, listOcrBackends, } from "kreuzberg-wasm"; await init(); // Track plugin registrations const pluginLog = { processors: [], validators: [], ocrBackends: [], }; // Register a logging post-processor const loggingProcessor = { processingStage: () => "post-extraction", process: (result) => { console.log("[POST-PROCESSOR] Processing extraction result", { textLength: result.text?.length, hasMetadata: !!result.metadata, }); return result; }, }; registerPostProcessor(loggingProcessor); pluginLog.processors.push("loggingProcessor"); // Register a logging validator const loggingValidator = { validate: (result) => { console.log("[VALIDATOR] Validating extraction result", { textLength: result.text?.length, isValid: true, }); return { valid: true, error: null }; }, }; registerValidator(loggingValidator); pluginLog.validators.push("loggingValidator"); // Log registered plugins function logPluginStatus() { const processors = listPostProcessors(); const validators = listValidators(); const backends = listOcrBackends(); console.log("Plugin Registration Status:", { postProcessors: processors, validators: validators, ocrBackends: backends, total: processors.length + validators.length + backends.length, }); } logPluginStatus(); ``` Use this pattern to monitor and debug plugin lifecycle and execution.