Rumah >pembangunan bahagian belakang >Tutorial Python >Alternatif dan perbandingan modul Python Logging
1 Log Berstruktur ialah format yang menyimpan
logmesej sebagai pasangan nilai kunci, yang menyediakan penghuraian dan penapisan log yang lebih mudah. Beberapa perpustakaan Logging Berstruktur disediakan dalam python:
import logging import structlog # 使用 logging-struct logging.basicConfig(fORMat="%(asctime)s %(levelname)s %(message)s") logging.info({"event": "startup", "service": "myapp"}) # 使用 structlog logger = structlog.get_logger() logger.info("startup", service="myapp")
JSON
Logger merekodkan mesej log dalam format jsON. Ini menjadikan mesej log mudah dihuraikan oleh alat dan aplikasi luaran. Perpustakaan JSON Logger yang tersedia dalam Python termasuk:
import jsonlogger logger = jsonlogger.jsonlogger.JsonLogger("myapp") logger.info({"event": "startup", "service": "myapp"})
Loguru ialah perpustakaan pengelogan yang fleksibel dan berkuasa yang menyediakan pelbagai ciri lanjutan, termasuk:
Tapis pengelogan:
Tapis pengelogan berdasarkan tahap pengelogan, nama fungsi atau kriteria lain.import loguru logger = loguru.logger logger.info("startup") with logger.level("DEBUG"): logger.debug("debug message")4
Logging Berpusat:
Pengelogan untuk semua aplikasi dan perkhidmatan dipusatkan dalam satu papan pemuka.
Ciri-ciri
Modul pengeloganJSON Logger | Loguru | Rollbar | Pembalakan Berstruktur | ||
---|---|---|---|---|---|
Ya | Tidak | Tidak | Format JSON | Tidak | |
Ya | Tidak | Tidak | Penapisan lanjutan | Terhad | |
Terhad | Ya | Ya | Pengurusan Konteks | Tidak | |
Tidak | Ya | Ya | Perkhidmatan berasaskan awan | Tidak | |
Tidak | Tidak | Ya | Penjejakan pengecualian | Terhad | |
Tidak | Tidak | Ya | Pilih alternatif yang betul |
Jika anda memerlukan pengelogan berstruktur, logging-struct
ataustructlog
adalah pilihan yang baik.Atas ialah kandungan terperinci Alternatif dan perbandingan modul Python Logging. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!