Registro para PHP (Monolog)

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course
```html

¿Qué es el logging en PHP y para qué sirve?

El logging es el proceso de registrar información sobre el funcionamiento de una aplicación: errores, advertencias, mensajes de depuración y acciones del usuario. En PHP, a diferencia de Python, no hay un logger compatible con PSR integrado "de serie" (aunque existe la función error_log()). Por lo tanto, la mejor solución es utilizar la biblioteca Monolog, el estándar de facto para el logging en proyectos PHP.

¿Para qué registrar?

  • Depuración en producción (stack trace de errores)
  • Monitoreo de rendimiento
  • Auditoría de seguridad (inicios de sesión, cambios de datos)
  • Análisis del comportamiento de usuarios

Instalación de Monolog

La instalación se realiza a través de Composer (el equivalente a pip para PHP):

composer require monolog/monolog

Para funcionar, se requiere PHP 8.0+ y Composer 2.x.

Funciones y capacidades principales

Monolog soporta:

  • Canales (Channels) — loggers aislados para diferentes partes de la aplicación (por ejemplo, 'security', 'database')
  • Niveles de logging (DEBUG, INFO, WARNING, ERROR, CRITICAL, etc.)
  • Handlers — dónde escribir: archivos, bases de datos, Slack, Telegram, email
  • Processors — enriquecimiento de mensajes con contexto (IP, hora, sesión)

Ejemplo de código

<?phprequire 'vendor/autoload.php';

use Monolog\\Logger;use Monolog\\Handler\\StreamHandler;use Monolog\\Handler\\TelegramBotHandler;use Monolog\\Processor\\WebProcessor;

// Creamos el canal 'app'$log = new Logger('app');

// Handler para escribir en archivo$log->pushHandler(new StreamHandler(__DIR__.'/logs/app.log', Logger::WARNING));

// Handler para Telegram (opcional)$telegram = new TelegramBotHandler('YOUR_BOT_TOKEN', 'CHAT_ID', Logger::CRITICAL);$log->pushHandler($telegram);

// Processor para añadir IP y User-Agent$log->pushProcessor(new WebProcessor());

// Registramos$log->info('Usuario inició sesión', ['user_id' => 123]);$log->error('Error de base de datos', ['sql' => 'SELECT * FROM users']);

Cuándo usarlo

Monolog es obligatorio en los siguientes casos:

  • Cualquier proyecto comercial o de código abierto en PHP (Symfony, Laravel usan Monolog por defecto)
  • Microservicios y APIs — para el trazado de solicitudes
  • Scripts cron y workers — para el seguimiento de la ejecución de tareas
  • Al integrarse con servicios externos (logs en Graylog, Sentry, Papertrail)

La biblioteca ha sido probada en miles de proyectos y soporta prácticamente cualquier transporte para logs. Si programas en PHP — comienza con Monolog.

```

Recommendations