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>
This commit is contained in:
FrankZamora
2025-12-07 17:52:50 -06:00
parent ff5ba25505
commit 85f3387fd2

View File

@@ -1,5 +1,27 @@
<?php <?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 // AUTOLOADER PARA COMPONENTES
// ============================================================================= // =============================================================================
@@ -181,7 +203,7 @@ function roi_render_component(string $componentName): string {
global $wpdb; global $wpdb;
// DEBUG: Trace component rendering // 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 { try {
// Obtener datos del componente desde BD normalizada // 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); $renderer = new \ROITheme\Public\Navbar\Infrastructure\Ui\NavbarRenderer($cssGenerator);
break; break;
case 'hero': 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); $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; break;
// Componentes sin soporte de CSS Crítico (below-the-fold) // Componentes sin soporte de CSS Crítico (below-the-fold)
@@ -339,13 +361,13 @@ function roi_render_component(string $componentName): string {
} }
if (!$renderer) { if (!$renderer) {
error_log("ROI Theme DEBUG: No renderer for {$componentName}"); roi_debug_log("ROI Theme DEBUG: No renderer for {$componentName}");
return ''; return '';
} }
error_log("ROI Theme DEBUG: Calling render() for {$componentName}"); roi_debug_log("ROI Theme DEBUG: Calling render() for {$componentName}");
$output = $renderer->render($component); $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; return $output;
} catch (\Exception $e) { } catch (\Exception $e) {