Bahagian berbeza dari Django Logging
Pembalakan Django mengandungi empat jenis konfigurasi yang dijelaskan di bawah.
1. Django Logger
Pembalak mencatat peristiwa ketika aplikasi dijalankan, dan pembalakan dipanggil. Entri log disimpan dalam fail dengan mengkategorikannya dalam tahap log yang berbeza. Setiap tahap log menunjukkan keparahan peristiwa. Tujuan tahap log ini disebutkan di bawah:
- HUTANG
Ia memberikan maklumat sistem tahap rendah untuk penyahpepijatan.
- INFO
Ia memberikan maklumat umum.
- KESILAPAN
Ia memberikan maklumat mengenai masalah utama aplikasi.
- AMARAN
Ia memberikan maklumat mengenai masalah kecil aplikasi.
- KRITIKAL
Ia memberikan maklumat mengenai masalah kritikal aplikasi.
2. Pengendali Django
Tugas utama pengendali adalah untuk menghantar maklumat log yang disimpan dalam fail log. Modul pembalakan mengandungi banyak jenis pengendali dan beberapa daripadanya dapat ditentukan untuk pembalak yang sama.
3. Django Formatter
Ia digunakan untuk memformat data log. Data pengendali tidak dapat dikirim langsung ke file log dan data pengendali mengharuskannya ditukar dengan menggunakan formatter sebelum mengirim. Pembentuk menukar rekod log menjadi rentetan. Format data bergantung pada logik perniagaan pengendali.
4. Penapis Django
Ia digunakan untuk menyaring mesej log. Tidak perlu menyimpan semua mesej log ke dalam fail log. Penangan yang berbeza dapat digunakan untuk pesan yang berbeda dan mesej log yang diperlukan dapat disaring menggunakan penapis yang diperlukan.
Prasyarat
Sebelum mempraktikkan skrip tutorial ini, anda mesti menyelesaikan tugas berikut:
- Pasang Django versi 3+ di Ubuntu 20+ (lebih baik)
- Buat projek Django
- Jalankan pelayan Django untuk memeriksa pelayan berfungsi dengan betul atau tidak.
Sediakan aplikasi Django
- Jalankan arahan berikut untuk membuat aplikasi Django bernama logapp.
- Jalankan arahan berikut untuk membuat pengguna untuk mengakses pangkalan data Django. Sekiranya anda telah membuat pengguna sebelumnya, maka tidak perlu menjalankan perintah.
- Tambahkan nama aplikasi di DIPASANG_APP sebahagian py fail.
…
'logapp'
]
Tetapkan Maklumat Pembalakan dalam tetapan.py
Buka tetapan.py fail dari folder projek Django dan tambahkan kandungan berikut untuk menentukan maklumat pembalakan. Sifat-sifat dari pengendali dan pembalak ditetapkan di sini. Mengikut nilai harta tanah pembalakan, HUTANG maklumat log peringkat akan disimpan dalam fail log yang diberi nama djangoapp.balak bila aplikasi Django akan dijalankan.
# Maklumat Log masuk DjangoMASUK =
# Tentukan versi pembalakan
'versi': 1,
# Aktifkan pembalak yang ada
'disable_existing_loggers': Salah,
# Tentukan pengendali
'pengendali':
'fail':
'level': 'DEBUG',
'class': 'pembalakan.Pengendali Fail ',
'nama fail': 'djangoapp.log ',
,
'konsol':
'class': 'pembalakan.StreamHandler ',
,
,
# Tentukan pembalak
'pembalak':
'django':
'pengendali': ['fail'],
'level': 'DEBUG',
'menyebarkan': Betul,
,
,
Buka djangoapp.balak fail untuk memeriksa entri log disimpan dalam fail atau tidak.
Tetapkan Maklumat Pembalakan dalam paparan.py
Maklumat log boleh didefinisikan menggunakan fail pandangan juga. Buka pandangan.py fail dari logapp folder dan gantikan kandungannya dengan skrip berikut. Dalam skrip ini, pembentuk, pengendali, dan pembalak bahagian pembalakan Django didefinisikan dalam konfigurasi.dictConfig () kaedah. HUTANG maklumat log peringkat akan disimpan dalam fail log yang dinamakan djangoapp.balak dan akan dicetak di konsol apabila aplikasi Django akan dijalankan. indeks () fungsi digunakan untuk mengirim teks tajuk utama ke penyemak imbas dan paparan_log () fungsi didefinisikan untuk menghantar teks sederhana di terminal dan teks tajuk utama ke penyemak imbas.
pandangan.py
# Import modul pembalakanpembalakan import
# Import HttpResponse untuk menghantar data ke penyemak imbas
dari django.http import HttpResponse
# Tentukan konfigurasi pembalakan
pembalakan.konfigurasi.dictConfig (
# Tentukan versi pembalakan
'versi': 1,
# Aktifkan pembalak yang ada
'disable_existing_loggers': Salah,
# Tentukan pemformat
'formatters':
'konsol':
'format': '% (mesej) s'
,
'fail':
'format': '% (mesej) s'
,
# Tentukan pengendali
'pengendali':
'konsol':
'class': 'pembalakan.StreamHandler ',
'formatter': 'konsol'
,
'fail':
'level': 'DEBUG',
'class': 'pembalakan.Pengendali Fail ',
'formatter': 'fail',
'nama fail': 'djangoapp.log '
,
# Tentukan pembalak
'pembalak':
'django':
'level': 'DEBUG',
'pengendali': ['fail', 'konsol'],
)
# Buat objek pembalak
pembalak = pembalakan.getLogger ('__ nama__')
# Tentukan fungsi untuk halaman indeks
indeks def (permintaan):
kembali HttpResponse ("
Ini adalah Aplikasi Django
")# Tentukan fungsi untuk halaman log
def display_log (permintaan):
# Hantar Ujian!! log mesej ke standard keluar
pembalak.ralat ("Menguji log Django ...")
kembali HttpResponse ("
Mesej Pembalakan Django
")Ubah suai kandungan url.py fail dengan skrip berikut. Dalam skrip, jalan kosong (”) didefinisikan untuk memanggil indeks () fungsi pandangan dan 'log /'jalan digunakan untuk memanggil paparan_log () fungsi pandangan.
url.py
dari django.laluan import urldari paparan import logapp
urlpatterns = [
jalan (", pandangan.indeks),
jalan ('log /', pandangan.paparan_log)
]
Jalankan URL berikut untuk memaparkan halaman indeks.
http: // localhost: 8000
Jalankan URL berikut untuk memanggil kaedah display_log () yang akan memaparkan pesanan teks di penyemak imbas dan mesej teks di terminal. Catatan log akan dilampirkan di djangoapp.balak fail.
Kesimpulannya
Dua cara menggunakan log masuk python dalam aplikasi Django untuk mengekalkan maklumat pembalakan tahap DEBUG ditunjukkan dalam tutorial ini. Konsep asas mengenai pembalakan Django diharapkan dapat difahami oleh pembaca setelah membaca tutorial ini.