Bagian yang berbeda dari Django Logging
Django logging berisi empat jenis konfigurasi yang dijelaskan di bawah ini.
1. Django Logger
Logger mencatat kejadian saat aplikasi dijalankan, dan logging disebut. Entri log disimpan dalam file dengan mengkategorikannya dalam level log yang berbeda. Setiap level log menunjukkan tingkat keparahan peristiwa. Tujuan dari level log ini disebutkan di bawah ini:
- DEBUG
Ini memberikan informasi sistem tingkat rendah untuk debugging.
- INFORMASI
Ini memberikan informasi umum.
- KESALAHAN
Ini memberikan informasi tentang masalah utama aplikasi.
- PERINGATAN
Ini memberikan informasi tentang masalah kecil aplikasi.
- KRITIS
Ini memberikan informasi tentang masalah kritis aplikasi.
2. Django Handler
Tugas utama handler adalah mengirimkan informasi log yang disimpan dalam file log. Modul logging berisi banyak jenis penangan dan beberapa dari mereka dapat didefinisikan untuk logger yang sama.
3. Pemformat Django
Ini digunakan untuk memformat data log. Data handler tidak dapat dikirim langsung ke file log dan data handler mengharuskan untuk dikonversi dengan menggunakan formatter sebelum mengirim. Pemformat mengubah catatan log menjadi string. Format data tergantung pada logika bisnis handler.
4. Filter Django
Ini digunakan untuk menyaring pesan log log. Tidak perlu menyimpan semua pesan log ke dalam file log. Penangan yang berbeda dapat digunakan untuk pesan yang berbeda dan pesan log yang diperlukan dapat difilter menggunakan filter yang diperlukan.
Prasyarat
Sebelum mempraktikkan skrip tutorial ini, Anda harus menyelesaikan tugas-tugas berikut:
- Instal Django versi 3+ di Ubuntu 20+ (lebih disukai)
- Buat proyek Django
- Jalankan server Django untuk memeriksa server bekerja dengan benar atau tidak.
Siapkan aplikasi Django
- Jalankan perintah berikut untuk membuat aplikasi Django bernama logapp.
- Jalankan perintah berikut untuk membuat pengguna untuk mengakses database Django. Jika Anda telah membuat pengguna sebelumnya maka tidak perlu menjalankan perintah.
- Tambahkan nama aplikasi di INSTALLED_APP bagian dari py mengajukan.
…
'logapp'
]
Atur Informasi Pencatatan di pengaturan.py
Buka pengaturan.py file dari folder proyek Django dan tambahkan konten berikut untuk mendefinisikan informasi logging. Sifat-sifat dari penangan dan penebang kayu diatur di sini. Menurut nilai properti logging, DEBUG informasi logging level akan disimpan dalam file log bernama djangoapp.catatan ketika aplikasi Django akan dijalankan.
# Informasi Pencatatan DjangoPENDAFTARAN =
# Tentukan versi logging
'versi 1,
# Aktifkan penebang yang ada
'disable_existing_loggers': Salah,
# Tentukan penangan
'penangan':
'berkas':
'tingkat': 'DEBUG',
'kelas': 'login.FileHandler',
'nama file': 'djangoapp.catatan',
,
'konsol':
'kelas': 'login.StreamHandler',
,
,
# Tentukan penebang
'penebang kayu':
'django':
'penangan': ['file'],
'tingkat': 'DEBUG',
'menyebarkan': Benar,
,
,
Buka djangoapp.catatan file untuk memeriksa entri log disimpan dalam file atau tidak.
Atur Informasi Pencatatan dalam tampilan.py
Informasi logging dapat ditentukan menggunakan file tampilan juga. Buka dilihat.py file dari logapp folder dan ganti konten dengan skrip berikut following. Dalam skrip ini, pemformat, penangan, dan penebang kayu bagian dari Django logging didefinisikan dalam konfigurasi.dictConfig() metode. DEBUG informasi logging level akan disimpan dalam file log bernama djangoapp.catatan dan akan dicetak di konsol saat aplikasi Django akan dijalankan. indeks() fungsi digunakan untuk mengirim teks judul sederhana ke browser dan and tampilan_log() fungsi didefinisikan untuk mengirim teks sederhana di terminal dan teks judul ke browser.
dilihat.py
# Impor modul loggingimpor log
# Impor HttpResponse untuk mengirim data ke browser
dari django.http impor HttpResponse
# Tentukan konfigurasi logging
masuk.konfigurasi.dictConfig(
# Tentukan versi logging
'versi 1,
# Aktifkan penebang yang ada
'disable_existing_loggers': Salah,
# Tentukan formatter
'pemformat':
'konsol':
'format': '%(pesan)s'
,
'berkas':
'format': '%(pesan)s'
,
# Tentukan penangan
'penangan':
'konsol':
'kelas': 'logging.StreamHandler',
'pemformat': 'konsol'
,
'berkas':
'tingkat': 'DEBUG',
'kelas': 'login.FileHandler',
'pemformat': 'berkas',
'nama file': 'djangoapp.catatan'
,
# Tentukan penebang
'penebang kayu':
'django':
'tingkat': 'DEBUG',
'penangan': ['file', 'konsol'],
)
# Buat objek logger
pencatat = logging.getLogger('__name__')
# Tentukan fungsi untuk halaman indeks
indeks def (permintaan):
kembali HttpResponse("
Ini adalah Aplikasi Django
")# Tentukan fungsi untuk halaman log
def display_log(permintaan):
# Kirim Tes!! log pesan ke standar keluar
pencatat.error("Menguji log Django… ")
kembali HttpResponse("
Pesan Masuk Django
")Ubah konten url.py file dengan skrip berikut:. Dalam skrip, jalur kosong (") didefinisikan untuk memanggil indeks() fungsi pandangan dan 'catatan/' path digunakan untuk memanggil tampilan_log() fungsi tampilan.
url.py
dari django.jalur impor urldari tampilan impor logapp
pola url = [
jalur(", tampilan.indeks),
path('log/', tampilan.tampilan_log)
]
Jalankan URL berikut untuk menampilkan halaman indeks.
http://localhost:8000
Jalankan URL berikut untuk memanggil metode display_log() yang akan menampilkan pesan teks di browser dan pesan teks di terminal. Entri log akan ditambahkan di djangoapp.catatan mengajukan.
Kesimpulan
Dua cara menggunakan python logging di aplikasi Django untuk menjaga informasi logging level DEBUG ditampilkan dalam tutorial ini. Konsep dasar tentang Django logging diharapkan dapat dipahami oleh pembaca setelah membaca tutorial ini.