Python

Bagaimana Menggunakan Django Logging?

Bagaimana Menggunakan Django Logging?
Setiap programmer menghadapi kesalahan saat menulis kode untuk mengembangkan aplikasi apa pun. Debug digunakan oleh pembuat kode untuk menyelesaikan kesalahan aplikasi. Fitur logging-nya membuat proses debugging lebih mudah dengan menyimpan output pesan kesalahan, peringatan, dan informasi ke dalam file. Pesan-pesan ini membantu pembuat kode untuk melacak peristiwa, memahami alasan keluaran yang tidak diinginkan, dan memodifikasi kode dengan benar untuk membuat aplikasi bebas kesalahan. Python memiliki modul logging bawaan untuk melakukan tugas terkait logging dengan lebih efisien. Django adalah kerangka kerja python populer yang menggunakan modul logging bawaan python untuk tujuan debugging. Bagaimana modul python logging dapat digunakan dalam aplikasi Django untuk keperluan debugging akan dijelaskan dalam tutorial ini.

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:

  1. DEBUG
    Ini memberikan informasi sistem tingkat rendah untuk debugging.
  1. INFORMASI
    Ini memberikan informasi umum.
  1. KESALAHAN
    Ini memberikan informasi tentang masalah utama aplikasi.
  1. PERINGATAN
    Ini memberikan informasi tentang masalah kecil aplikasi.
  1. 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:

  1. Instal Django versi 3+ di Ubuntu 20+ (lebih disukai)
  2. Buat proyek Django
  3. Jalankan server Django untuk memeriksa server bekerja dengan benar atau tidak.

Siapkan aplikasi Django

  1. Jalankan perintah berikut untuk membuat aplikasi Django bernama logapp.
$ python3 kelola.py startapp logapp
  1. Jalankan perintah berikut untuk membuat pengguna untuk mengakses database Django. Jika Anda telah membuat pengguna sebelumnya maka tidak perlu menjalankan perintah.
$ python3 kelola.py buat pengguna super
  1. Tambahkan nama aplikasi di INSTALLED_APP bagian dari py mengajukan.
INSTALLED_APPS = [

'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 Django
PENDAFTARAN =
# 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 logging
impor 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 url
dari 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.

WinMouse memungkinkan Anda menyesuaikan & meningkatkan gerakan penunjuk tetikus di PC Windows
Jika Anda ingin meningkatkan fungsi default penunjuk tetikus Anda, gunakan freeware WinMouse. Ini menambahkan lebih banyak fitur untuk membantu Anda m...
Tombol klik kiri mouse tidak berfungsi pada Windows 10
Jika Anda menggunakan mouse khusus dengan laptop, atau komputer desktop, tetapi but tombol klik kiri mouse tidak berfungsi pada Windows 10/8/7 untuk b...
Kursor melompat atau bergerak secara acak saat mengetik di Windows 10
Jika Anda menemukan bahwa kursor mouse Anda melompat atau bergerak sendiri, secara otomatis, acak saat mengetik di laptop atau komputer Windows, maka ...