1 Commits

Author SHA1 Message Date
FrankZamora
85f3387fd2 perf(php): add conditional debug logging to prevent gb logs
- add ROI_DEBUG constant (default false) to control debug output
- create roi_debug_log() function for conditional logging
- replace all error_log DEBUG calls with roi_debug_log
- keep ERROR logs always active for exception tracking
- to enable debug, add define('ROI_DEBUG', true) in wp-config.php

this prevents production logs from growing to gb sizes
(previous error.log was 4.8gb from constant debug output)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 17:52:50 -06:00

View File

@@ -1,5 +1,27 @@
<?php
// =============================================================================
// ROI THEME DEBUG MODE
// =============================================================================
// Para activar el modo debug, agregar en wp-config.php:
// define('ROI_DEBUG', true);
//
// IMPORTANTE: Mantener desactivado en producción para evitar logs de GB.
// =============================================================================
if (!defined('ROI_DEBUG')) {
define('ROI_DEBUG', false);
}
/**
* Log de debug condicional para ROI Theme.
* Solo escribe al log si ROI_DEBUG está activado.
*/
function roi_debug_log(string $message): void {
if (ROI_DEBUG) {
error_log($message);
}
}
// =============================================================================
// AUTOLOADER PARA COMPONENTES
// =============================================================================
@@ -181,7 +203,7 @@ function roi_render_component(string $componentName): string {
global $wpdb;
// DEBUG: Trace component rendering
error_log("ROI Theme DEBUG: roi_render_component called with: {$componentName}");
roi_debug_log("ROI Theme DEBUG: roi_render_component called with: {$componentName}");
try {
// Obtener datos del componente desde BD normalizada
@@ -297,9 +319,9 @@ function roi_render_component(string $componentName): string {
$renderer = new \ROITheme\Public\Navbar\Infrastructure\Ui\NavbarRenderer($cssGenerator);
break;
case 'hero':
error_log("ROI Theme DEBUG: Creating HeroRenderer");
roi_debug_log("ROI Theme DEBUG: Creating HeroRenderer");
$renderer = new \ROITheme\Public\Hero\Infrastructure\Ui\HeroRenderer($cssGenerator);
error_log("ROI Theme DEBUG: HeroRenderer created successfully");
roi_debug_log("ROI Theme DEBUG: HeroRenderer created successfully");
break;
// Componentes sin soporte de CSS Crítico (below-the-fold)
@@ -339,13 +361,13 @@ function roi_render_component(string $componentName): string {
}
if (!$renderer) {
error_log("ROI Theme DEBUG: No renderer for {$componentName}");
roi_debug_log("ROI Theme DEBUG: No renderer for {$componentName}");
return '';
}
error_log("ROI Theme DEBUG: Calling render() for {$componentName}");
roi_debug_log("ROI Theme DEBUG: Calling render() for {$componentName}");
$output = $renderer->render($component);
error_log("ROI Theme DEBUG: render() returned " . strlen($output) . " chars for {$componentName}");
roi_debug_log("ROI Theme DEBUG: render() returned " . strlen($output) . " chars for {$componentName}");
return $output;
} catch (\Exception $e) {