log — Registro para Rust

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

¿Qué es la biblioteca log para Rust?

La biblioteca log es una abstracción estándar para el registro (logging) en el ecosistema de Rust. Proporciona una fachada (facade) ligera que permite a los desarrolladores escribir código que genere registros sin vincularse a una implementación específica de un logger (por ejemplo, env_logger, simple_logger o slog). Es análoga a las bibliotecas populares de logging en Python, pero con un enfoque en el rendimiento y la seguridad de la memoria.

¿Para qué sirve la biblioteca log?

El objetivo principal de log es separar la generación de registros de su procesamiento. Puedes usar las macros info!, warn!, error! en tu código y, más tarde, conectando uno de los backends (por ejemplo, env_logger), redirigir la salida a la consola, un archivo o un sistema de monitoreo. Esto es especialmente útil para:

  • Depuración de sistemas complejos
  • Monitoreo de aplicaciones en producción
  • Creación de bibliotecas que no deben dictar al usuario la forma de registrar

Instalación

Añade a Cargo.toml:

[dependencies]log = "0.4"env_logger = "0.10"  # para salida a consola

Luego ejecuta cargo build.

Funciones principales

  • Macros de registro: error!, warn!, info!, debug!, trace! — con soporte para formato de cadenas como en println!.
  • Niveles de filtrado: se puede establecer un nivel mínimo (por ejemplo, solo errores) a través de la variable de entorno RUST_LOG.
  • Extensibilidad: soporte para loggers personalizados a través del trait Log.
  • Seguridad: los registros no afectan el rendimiento si el nivel está desactivado.

Ejemplo de código en Rust

use log::{info, warn, error};

fn main() { // Inicialización del logger (env_logger) env_logger::init();

let user = "Alice"; let status = 200;

info!("Usuario {} inició sesión", user); warn!("Estado de respuesta: {} — posible caché obsoleto", status); error!("No se pudo conectar a la base de datos: {}", "timeout");}

Ejecuta con RUST_LOG=info cargo run para ver todos los mensajes de nivel info y superiores.

Cuándo usarla

La biblioteca log es ideal para:

  • Cualquier aplicación Rust que necesite un sistema de registro estándar (CLI, servidores, utilidades).
  • Bibliotecas — para que el usuario pueda elegir su propio backend.
  • Proyectos que migran desde Python: el concepto es similar a logging.getLogger().

Evita log si necesitas escritura asíncrona a archivo o registros JSON estructurados — en esos casos, tracing o slog son más adecuados.

Recommendations