Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Sistema de registro

Este documento explica cómo utilizar la función de registro de LibreChat, la cual guarda los registros de errores y depuración en la carpeta `/api/logs`. Puede utilizar estos registros para solucionar problemas, monitorear su servidor e informar errores. También puede desactivar los registros de depuración si desea ahorrar espacio.

General

LibreChat tiene un registro centralizado integrado en su backend (api).

  • Con la instalación de Docker, los archivos de registro se guardan en /logs
debug-2024-01-01.log
error-2024-01-01.log
meiliSync-2024-01-01.log
  • Con la instalación de npm, los archivos de registro se guardan en /api/logs
debug-2024-01-01.log
error-2024-01-01.log
meiliSync-2024-01-01.log

Los registros de error se guardan de forma predeterminada. Los registros de depuración están habilitados de forma predeterminada, pero pueden desactivarse si no se desean.

Esto le permite monitorear su servidor a través de herramientas externas que inspeccionan archivos de registro, como la pila ELK.

Los registros de depuración son esenciales para el trabajo de desarrollo y la corrección de problemas. Si encuentra algún inconveniente al ejecutar LibreChat, reprodúzcalo lo más fielmente posible y reporte el problema incluyendo sus registros encontrados en ./api/logs/debug-%DATE%.log.

Los registros de errores también se guardan en la misma ubicación: ./api/logs/error-%DATE%.log. Si tiene configurado meilisearch, también existe un archivo de registro independiente para esto.

Nota:

Nota: Los registros se rotan cada 14 días, por lo que generará un archivo de registro de errores, un archivo de registro de depuración y un archivo de registro meiliSync cada 14 días. Los errores también estarán presentes en los archivos de registro de depuración, pero los archivos de registro de errores proporcionan seguimientos de pila y más detalles.

Configuración

  • Alterna los registros de depuración con la siguiente variable de entorno. De forma predeterminada, incluso si nunca configuras esta variable, se generarán registros de depuración, pero tienes la opción de desactivarlos configurándola en FALSE.
KeyTypeDescriptionExample
DEBUG_LOGGINGbooleanMantener activos los registros de depuración.DEBUG_LOGGING=true

Nota: se recomienda desactivar los registros de depuración (debug logs) en un entorno de producción.

  • Para obtener una salida detallada del servidor en la consola/terminal, puede establecer lo siguiente en TRUE:
KeyTypeDescriptionExample
DEBUG_CONSOLEbooleanHabilitar registros detallados de consola/stdout en el mismo formato que los registros de depuración de archivos.DEBUG_CONSOLE=false

Sin embargo, esto no se recomienda, ya que los resultados pueden ser bastante extensos. Está desactivado de forma predeterminada y debe habilitarse con moderación.

  • Al gestionar registros de consola en implementaciones en la nube (como GCP o AWS), habilitar esto volcará los registros con una marca de tiempo UTC y los formateará como JSON.
KeyTypeDescriptionExample
CONSOLE_JSONbooleanHabilitar registros de consola/stdout en formato JSON detallado, adecuados para implementaciones en la nube como GCP/AWS.CONSOLE_JSON=false

De forma predeterminada, la longitud de la cadena JSON se trunca a 255 caracteres. Puede configurar esto con la siguiente variable de entorno:

KeyTypeDescriptionExample
CONSOLE_JSON_STRING_LENGTHnumberConfigure el tamaño de truncamiento para los valores de cadena en los registros de consola/stdout de JSON. Predeterminado: 255.# CONSOLE_JSON_STRING_LENGTH=255
  • Los transportes de registro respaldados por archivos están habilitados de forma predeterminada. Establezca LOG_TO_FILE=false si su despliegue solo debe emitir registros a stdout/stderr.
KeyTypeDescriptionExample
LOG_TO_FILEbooleanEstablecer en false para deshabilitar los transportes de Winston respaldados por archivos.LOG_TO_FILE=true

Rastreo de OpenTelemetry

LibreChat puede emitir trazas de OpenTelemetry de backend para la visibilidad del servidor, la base de datos, Redis y HTTP saliente. Los spans a nivel de comando de Redis son opcionales, por lo que las trazas predeterminadas se mantienen a alto nivel. Esto es independiente de Langfuse, que sigue siendo la opción recomendada para la observabilidad de modelos y prompts específicos de GenAI.

KeyTypeDescriptionExample
OTEL_TRACING_ENABLEDbooleanHabilitar el rastreo de OpenTelemetry en el backend.# OTEL_TRACING_ENABLED=false
OTEL_SERVICE_NAMEstringNombre del servicio reportado a OpenTelemetry. Predeterminado: librechat.# OTEL_SERVICE_NAME=librechat
OTEL_SERVICE_VERSIONstringVersión del servicio reportada a OpenTelemetry.# OTEL_SERVICE_VERSION=
OTEL_EXPORTER_OTLP_ENDPOINTstringEndpoint base del exportador OTLP.# OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
OTEL_EXPORTER_OTLP_TRACES_ENDPOINTstringEndpoint OTLP específico para trazas.# OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=
OTEL_EXPORTER_OTLP_HEADERSstringCabeceras del exportador OTLP.# OTEL_EXPORTER_OTLP_HEADERS=
OTEL_TRACES_EXPORTERstringSelección del exportador de trazas.# OTEL_TRACES_EXPORTER=otlp
OTEL_TRACES_SAMPLERstringMuestreador de trazas de OpenTelemetry.# OTEL_TRACES_SAMPLER=parentbased_always_on
OTEL_LOG_LEVELstringNivel de registro del SDK de OpenTelemetry.# OTEL_LOG_LEVEL=INFO
OTEL_SDK_DISABLEDbooleanDeshabilitar el SDK de OpenTelemetry incluso cuando el rastreo está activado.# OTEL_SDK_DISABLED=false
OTEL_IOREDIS_TRACING_ENABLEDbooleanHabilitar los spans a nivel de comando de Redis. Deshabilitado por defecto para mantener los seguimientos del backend en un nivel alto.# OTEL_IOREDIS_TRACING_ENABLED=false

¿Qué te parece esta guía?