Python

Cara Menggunakan Django Logging?

Cara Menggunakan Django Logging?
Setiap pengaturcara menghadapi kesilapan semasa menulis kod untuk mengembangkan aplikasi apa pun. Penyahpepijatan digunakan oleh pengkod untuk menyelesaikan kesilapan aplikasi. Fitur loggingnya menjadikan proses debugging lebih mudah dengan menyimpan output dari kesalahan, peringatan, dan pesan maklumat ke dalam file. Mesej ini membantu pengekod untuk melacak peristiwa, memahami alasan untuk output yang tidak diingini, dan mengubah kod dengan betul untuk membuat aplikasi tanpa ralat. Python mempunyai modul pembalakan terbina dalam untuk melaksanakan tugas berkaitan pembalakan dengan lebih berkesan. Django adalah kerangka python yang popular yang menggunakan modul log terbina dalam python untuk tujuan penyahpepijatan. Bagaimana modul python logging dapat digunakan dalam aplikasi Django untuk tujuan debugging akan dijelaskan dalam tutorial ini.

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:

  1. HUTANG
    Ia memberikan maklumat sistem tahap rendah untuk penyahpepijatan.
  1. INFO
    Ia memberikan maklumat umum.
  1. KESILAPAN
    Ia memberikan maklumat mengenai masalah utama aplikasi.
  1. AMARAN
    Ia memberikan maklumat mengenai masalah kecil aplikasi.
  1. 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:

  1. Pasang Django versi 3+ di Ubuntu 20+ (lebih baik)
  2. Buat projek Django
  3. Jalankan pelayan Django untuk memeriksa pelayan berfungsi dengan betul atau tidak.

Sediakan aplikasi Django

  1. Jalankan arahan berikut untuk membuat aplikasi Django bernama logapp.
$ python3 menguruskan.papp startapp logapp
  1. Jalankan arahan berikut untuk membuat pengguna untuk mengakses pangkalan data Django. Sekiranya anda telah membuat pengguna sebelumnya, maka tidak perlu menjalankan perintah.
$ python3 menguruskan.py createuperuser
  1. Tambahkan nama aplikasi di DIPASANG_APP sebahagian py fail.
INSTALLED_APPS = [

'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 Django
MASUK =
# 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 pembalakan
pembalakan 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 url
dari 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.

Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...
Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...
Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...