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

Sistem Pencatatan

Dokumen ini menjelaskan cara menggunakan fitur logging LibreChat, yang menyimpan log error dan debug di folder `/api/logs`. Anda dapat menggunakan log ini untuk memecahkan masalah, memantau server Anda, dan melaporkan bug. Anda juga dapat menonaktifkan log debug jika ingin menghemat ruang penyimpanan.

Umum

LibreChat memiliki pencatatan log terpusat yang terintegrasi ke dalam backend (api)-nya.

  • Dengan instalasi docker, file log disimpan di /logs
debug-2024-01-01.log
error-2024-01-01.log
meiliSync-2024-01-01.log
  • Dengan instalasi npm, file log disimpan di /api/logs
debug-2024-01-01.log
error-2024-01-01.log
meiliSync-2024-01-01.log

Log kesalahan disimpan secara default. Log debug diaktifkan secara default tetapi dapat dimatikan jika tidak diinginkan.

Ini memungkinkan Anda untuk memantau server Anda melalui alat eksternal yang memeriksa file log, seperti the ELK stack.

Log debug sangat penting untuk pekerjaan pengembang dan perbaikan masalah. Jika Anda mengalami masalah saat menjalankan LibreChat, reproduksi sedekat mungkin, dan laporkan masalah tersebut dengan menyertakan log Anda yang ditemukan di ./api/logs/debug-%DATE%.log.

Log kesalahan juga disimpan di lokasi yang sama: ./api/logs/error-%DATE%.log. Jika Anda telah mengonfigurasi Meilisearch, terdapat file log terpisah untuk ini juga.

Catatan:

Catatan: Log dirotasi setiap 14 hari, sehingga Anda akan menghasilkan satu file log error, satu file log debug, dan satu file log meiliSync per 14 hari. Error juga akan muncul di dalam file log debug, namun file log error menyediakan pelacakan tumpukan (stack trace) dan detail yang lebih lengkap.

Pengaturan

  • Aktifkan log debug dengan variabel lingkungan berikut. Secara default, meskipun Anda tidak pernah mengatur variabel ini, log debug akan tetap dibuat, tetapi Anda memiliki opsi untuk menonaktifkannya dengan mengaturnya ke FALSE.
KeyTypeDescriptionExample
DEBUG_LOGGINGbooleanTetap aktifkan log debug.DEBUG_LOGGING=true

Catatan: disarankan untuk menonaktifkan log debug di lingkungan produksi.

  • Untuk output server yang lebih mendetail di konsol/terminal, Anda dapat mengatur hal berikut ke TRUE:
KeyTypeDescriptionExample
DEBUG_CONSOLEbooleanAktifkan log konsol/stdout verbose dalam format yang sama dengan log debug file.DEBUG_CONSOLE=false

Namun, hal ini tidak disarankan karena output yang dihasilkan bisa jadi sangat panjang. Fitur ini dinonaktifkan secara default dan sebaiknya hanya diaktifkan jika benar-benar diperlukan.

  • Saat menangani log konsol dalam deployment cloud (seperti GCP atau AWS), mengaktifkan ini akan mencetak log dengan stempel waktu UTC dan memformatnya sebagai JSON.
KeyTypeDescriptionExample
CONSOLE_JSONbooleanAktifkan log konsol/stdout JSON verbose yang sesuai untuk penyebaran cloud seperti GCP/AWS.CONSOLE_JSON=false

Secara default, panjang string JSON dipotong hingga 255 karakter. Anda dapat mengonfigurasinya dengan variabel lingkungan berikut:

KeyTypeDescriptionExample
CONSOLE_JSON_STRING_LENGTHnumberKonfigurasikan ukuran pemotongan untuk nilai string dalam log konsol/stdout JSON. Default: 255.# CONSOLE_JSON_STRING_LENGTH=255
  • Transport log berbasis file diaktifkan secara default. Atur LOG_TO_FILE=false jika deployment Anda hanya perlu mengeluarkan log ke stdout/stderr.
KeyTypeDescriptionExample
LOG_TO_FILEbooleanAtur ke false untuk menonaktifkan transport Winston berbasis file.LOG_TO_FILE=true

OpenTelemetry Tracing

LibreChat dapat memancarkan trace OpenTelemetry backend untuk visibilitas server, database, Redis, dan HTTP keluar. Span tingkat perintah Redis bersifat opsional (opt-in) sehingga trace default tetap berada pada tingkat tinggi. Hal ini terpisah dari Langfuse, yang tetap menjadi opsi yang direkomendasikan untuk observabilitas prompt dan model khusus GenAI.

KeyTypeDescriptionExample
OTEL_TRACING_ENABLEDbooleanAktifkan pelacakan OpenTelemetry backend.# OTEL_TRACING_ENABLED=false
OTEL_SERVICE_NAMEstringNama layanan yang dilaporkan ke OpenTelemetry. Default: librechat.# OTEL_SERVICE_NAME=librechat
OTEL_SERVICE_VERSIONstringVersi layanan yang dilaporkan ke OpenTelemetry.# OTEL_SERVICE_VERSION=
OTEL_EXPORTER_OTLP_ENDPOINTstringEndpoint eksportir OTLP dasar.# OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
OTEL_EXPORTER_OTLP_TRACES_ENDPOINTstringendpoint OTLP khusus untuk trace.# OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=
OTEL_EXPORTER_OTLP_HEADERSstringHeader eksportir OTLP.# OTEL_EXPORTER_OTLP_HEADERS=
OTEL_TRACES_EXPORTERstringPemilihan eksportir trace.# OTEL_TRACES_EXPORTER=otlp
OTEL_TRACES_SAMPLERstringSampler pelacakan OpenTelemetry.# OTEL_TRACES_SAMPLER=parentbased_always_on
OTEL_LOG_LEVELstringLevel log SDK OpenTelemetry.# OTEL_LOG_LEVEL=INFO
OTEL_SDK_DISABLEDbooleanNonaktifkan SDK OpenTelemetry meskipun pelacakan diaktifkan.# OTEL_SDK_DISABLED=false
OTEL_IOREDIS_TRACING_ENABLEDbooleanAktifkan span tingkat perintah Redis. Dinonaktifkan secara default untuk menjaga agar trace backend tetap pada tingkat tinggi.# OTEL_IOREDIS_TRACING_ENABLED=false

Bagaimana panduan ini?