Pemrograman

Masuk dengan Python - Panduan Satu Pintu Anda

Masuk dengan Python - Panduan Satu Pintu Anda

Logging adalah langkah penting yang harus dilakukan oleh seorang programmer selama pengembangan perangkat lunak. Ini membantu pengembang untuk melacak peristiwa yang terjadi selama pelaksanaan program, yang dapat membantu untuk proses debugging di masa depan. Jika Anda seorang pelajar baru atau sedang mengerjakan proyek baru, adalah praktik yang baik untuk menggunakan logging untuk melacak aliran kode dan untuk memecahkan kesalahan.

Saat menulis program pendek, kebanyakan dari kita biasanya mengabaikan logging, tetapi ketika program menjadi kompleks, maka itu adalah langkah penting dan berguna menggunakan logging untuk memperbaiki kesalahan yang mencegah perangkat lunak berjalan dengan lancar. Logging tidak lebih dari menulis kejadian di perangkat lunak ke dalam file log atau mengeluarkan di terminal.

Logging tidak hanya digunakan untuk debugging. Ini juga merupakan proses yang berguna untuk mengumpulkan informasi, mengumpulkan data penggunaan, dan banyak tugas berguna lainnya. Ini juga merupakan salah satu fungsi yang paling umum bagi pengembang web tidak hanya untuk mendeteksi kesalahan tetapi juga untuk mengumpulkan data pengguna seperti alamat IP, yang dapat digunakan untuk analisis bisnis lebih lanjut.

Di Python, sebagian besar fasilitas logging disediakan oleh masuk modul disajikan di pustaka standar python, jadi kami tidak perlu melakukan konfigurasi tambahan apa pun. Mari kita lihat cara menggunakannya untuk login python. Sebelum mengikuti tutorial ini, Anda harus menginstal python versi terbaru di sistem Anda. Jika Anda belum menginstal python terbaru di sistem Anda, Anda dapat mengikuti panduan langkah demi langkah kami tentang menginstal dan memperbarui python di Linux.

Modul Pencatatan Python

Modul logging python adalah salah satu perpustakaan logging yang paling banyak digunakan di python. Bagian terbaiknya adalah ia sudah diinstal sebelumnya dengan pustaka standar python, jadi kita tidak perlu melakukan konfigurasi atau instalasi apa pun. Modul logging kuat dan lugas, yang berarti berguna untuk pemula dan perusahaan. Untuk menggunakan modul logging dengan python, kita perlu mengimpornya ke dalam program kita seperti yang saya lakukan pada baris kode berikut:.

impor log

Sekarang mari kita lihat demo bagaimana kita bisa memasukkan beberapa pesan ke terminal. Cukup salin kode berikut ke IDE python favorit Anda dan jalankan.

impor logging logging.peringatan("Ini adalah Peringatan")

Saat menjalankan kode di atas, kita akan mendapatkan output seperti yang ditunjukkan pada gambar di bawah ini.

Seperti yang terlihat pada output, program mencetak pesan peringatan. Modul logging juga memiliki beberapa level logging lainnya seperti info, kesalahan, dll., yang membuat tugas kita mudah. Mari kita bahas secara singkat dengan contoh.

Level pencatatan python

Banyak tingkat logging dapat digunakan untuk mencatat pesan yang berbeda pada tingkat keparahan. Level yang disediakan oleh python masuk modul adalah

Level-level ini ditunjukkan dalam urutan penurunan keparahannya. Mari kita lihat bagaimana menggunakan level ini dalam program kami. Cukup salin kode berikut dan jalankan di Python IDE.

impor logging logging.kritis("Ini adalah pesan penting") logging.error("Ini adalah pesan kesalahan") logging.peringatan ("Ini adalah pesan Peringatan") logging.info("Ini adalah pesan info") logging.debug("Ini adalah pesan Debug")

Saat menjalankan kode di atas dalam IDE, output yang ditunjukkan terminal ditunjukkan pada gambar di bawah ini.

Seperti yang Anda lihat di output, pesan DEBUG dan INFO tidak dicetak di terminal karena modul logging, secara default, hanya mencatat pesan dengan tingkat keamanan yang lebih tinggi atau sama dengan peringatan. Untuk menampilkan INFO dan DEBUG di terminal, kita perlu mengubah konfigurasi Dasar logger secara manual. Untuk melakukannya, kita dapat menggunakan basicConfig(**kwargs) metode yang disediakan oleh modul logging. Untuk melihat demo konfigurasi sederhana, jalankan kode berikut ke IDE Python Anda.

impor logging logging.basicConfig(level=logging.Debug logging.kritis("Ini adalah pesan penting") logging.error("Ini adalah pesan kesalahan") logging.peringatan ("Ini adalah pesan Peringatan") logging.info("Ini adalah pesan info") logging.debug("Ini adalah pesan Debug")

Dalam kode di atas, kami telah mengatur level masuk.DEBUG, yang berarti bahwa semua level yang berada di atas level debug akan dicatat. Jadi dalam kode di atas, semua pesan akan dicatat seperti yang ditunjukkan pada gambar di bawah ini.

Mari kita bahas lebih lanjut metode basicConfig() dari modul logging.

Konfigurasi Dasar

Modul logging menyediakan metode basicConfig(**Kwargs) yang sangat berguna, yang digunakan untuk menyetel konfigurasi untuk data logging. Beberapa parameter yang umum digunakan dari fungsi basicConfig() adalah:

Mari kita lihat bagaimana kita dapat menggunakan konfigurasi ini dalam modul logging python dengan menjelajahi contoh satu demi satu.

Parameter level digunakan untuk mengatur tingkat keparahan, untuk melihat demo praktis cara menggunakannya, salin kode di bawah ini di python IDE dan jalankan.

impor logging logging.basicConfig(level=logging.INFO) logging.kritis("Ini adalah pesan penting") logging.error("Ini adalah pesan kesalahan") logging.peringatan ("Ini adalah pesan Peringatan") logging.info("Ini adalah pesan info") logging.debug("Ini adalah pesan Debug")

Saat menjalankan kode, Anda mungkin melihat output, seperti yang ditunjukkan pada gambar di bawah ini. Seperti yang Anda lihat bahwa pesan yang berada di atas level info dicetak, tetapi pesan di level debug tidak dicetak.

Parameter level adalah konfigurasi berguna yang harus dilakukan agar file log tidak terlalu besar dengan memuat data yang tidak perlu dan hanya memiliki informasi yang diperlukan.

Masuk ke file

Kami hanya melihat cara masuk ke terminal, tetapi masuk ke terminal tidak selalu membantu karena kami tidak dapat menyimpannya untuk digunakan nanti. Untuk solusi yang lebih baik, kami dapat mencetak log dalam file teks yang kami simpan dan analisis nanti. Log adalah teks dan dapat disimpan dalam file teks dalam format apa pun, tetapi secara universal diadopsi untuk menyimpan log dalam file dengan .ekstensi log. File-file ini dikenal sebagai file log dan digunakan secara universal untuk menyimpan log program, aplikasi web, dan perangkat lunak lainnya.

Kita dapat menyimpan log ke file dengan mengatur konfigurasi modul logging dengan bantuan fungsi basicConfig(). Kita perlu memberikan nama file tempat kita ingin menyimpan log di parameter nama file fungsi basicConfig(), setelah itu record akan otomatis tercetak di file log yang kita tentukan. Mari kita lihat contoh praktis untuk mengetahui cara kerjanya.

impor logging logging.basicConfig(level=logging.INFO, nama file = "mylog".log").kritis("Ini adalah pesan penting") logging.error("Ini adalah pesan kesalahan") logging.peringatan ("Ini adalah pesan Peringatan") logging.info("Ini adalah pesan info") logging.debug("Ini adalah pesan Debug")

Saat menjalankan kode, Anda dapat melihat bahwa file baru telah dibuat dalam nama direktori kerja saat ini mylog.catatan. Saat membuka file dengan editor teks, Anda mungkin memperhatikan bahwa log disimpan ke dalam file.

Jika kita menjalankan kembali kodenya, kita akan melihat bahwa log akan ditambahkan ke dalam file. Kita dapat mengubah ini dengan menentukan parameter filemode dalam fungsi basiconfig(). Secara default, parameter filemode memiliki nilai "a," yang merupakan singkatan dari append. Namun terkadang kami juga ingin menghapus data yang telah dicatat sebelumnya dan hanya menulis log baru di dalam file. Untuk melakukan ini, kita dapat memberikan parameter filemode nilai "w," yang berarti menulis, dan menghapus data sebelumnya dalam file dan menulis yang baru. Untuk demo, lihat contoh berikut.

impor logging logging.basicConfig(level=logging.INFO, nama file = "mylog".log", filemode="w") logging.kritis("Ini adalah pesan penting") logging.error("Ini adalah pesan kesalahan") logging.peringatan ("Ini adalah pesan Peringatan") logging.info("Ini adalah pesan info") logging.debug("Ini adalah pesan Debug")

Saat menjalankan kode di atas, Anda mungkin memperhatikan bahwa log sebelumnya yang ada dalam file telah dihapus dari file, dan log baru telah ditambahkan. Setiap kali kita menjalankan kode, log baru akan ditambahkan, dan log sebelumnya akan dihapus, yang berguna ketika kita tidak memerlukan catatan untuk digunakan lebih lanjut.

Memformat Log

Kami telah melihat log keluaran memiliki tata letak default, tetapi kami dapat mengubah format dengan mengatur parameter format dari fungsi basicConfig(). Mari kita lihat demo praktis untuk mengetahui bagaimana kita dapat menggunakan parameter format dalam fungsi basicConfig() untuk mengubah format log.

impor logging logging.basicConfig(level=logging.INFO, format="%(filename)s: %(levelname)s: %(message)s") logging.kritis("Ini adalah pesan penting") logging.error("Ini adalah pesan kesalahan") logging.peringatan ("Ini adalah pesan Peringatan") logging.info("Ini adalah pesan info") logging.debug("Ini adalah pesan Debug")

Output dari kode di atas adalah seperti yang ditunjukkan pada gambar di bawah ini.

Seperti yang Anda lihat di output, nama file juga telah ditampilkan. Kita dapat menggunakan parameter format untuk menunjukkan banyak format lain, mari kita bahas beberapa di antaranya.

%(waktu asc)s: Ini digunakan untuk menampilkan waktu yang dapat dibaca manusia di log. Untuk melihat bagaimana ini menunjukkan waktu, jalankan kode berikut di Python IDE.

impor logging logging.basicConfig(level=logging.INFO, format="%(asctime)s : %(message)s") logging.warning("Ini adalah pesan Peringatan")

Saat menjalankan kode, Anda mungkin melihat output, seperti yang ditunjukkan pada gambar di bawah ini.

%(dibuat)f: Ini akan menampilkan waktu di mana log dibuat.

%(nama file)s: Ini digunakan untuk menampilkan nama file dalam pesan log. Untuk melihat cara kerjanya, jalankan saja contoh kode berikut di Python IDE Anda.

impor logging logging.basicConfig(level=logging.INFO, format="%(asctime)s : %(filename)s : %(message)s") logging.warning("Ini adalah pesan Peringatan")

Output yang disediakan kode ditunjukkan pada gambar berikut:. Di output, nama file telah ditampilkan. Ini berguna saat mengerjakan proyek yang melibatkan banyak file sehingga kami bisa mendapatkan file yang memiliki kesalahan dengan cepat.

%(nama level)s: Ini digunakan untuk menampilkan nama level yang digunakan seperti PERINGATAN, DEBUG, dll.

%(levelno)s: Ini digunakan untuk mencetak nilai numerik dari level yang menjadi bagian dari pesan.

%(lineno)d: Ini digunakan untuk mencetak nomor baris dari baris saat ini, yang menampilkan pesan. Ini sangat berguna karena memberi kita nomor baris di mana kita harus melihat kesalahan, sehingga membantu proses debugging. Mari kita lihat contoh kode untuk melihat bagaimana menggunakannya untuk membentuk output dari log.

import logging Format = '%(asctime)s : %(filename)s:%(lineno)d: %(message)s' logging.basicConfig(level=logging.INFO, format= Format) logging.warning("Ini adalah pesan Peringatan")

Kode ini juga akan mencetak no baris, seperti yang ditunjukkan pada gambar di bawah ini.

%(pesan)s: Ini digunakan untuk menampilkan pesan yang telah kita login.

%(nama jalur)s: Ini digunakan untuk menampilkan nama path lengkap dari file kode sumber.

%(proses)d: Ini akan menampilkan id proses jika tersedia.

%(nama proses)s: Ini akan menampilkan Nama proses jika tersedia.

%(utas)d: Ini akan menampilkan id Thread jika tersedia.

%(namautas)s: Ini akan menampilkan Nama Thread jika tersedia.

Mencatat Data Variabel

Kami telah memberikan pesan di log sendiri, yang merupakan data statis. Namun, dalam aplikasi dunia nyata, data yang kami catat sebagian besar merupakan informasi dinamis dari aplikasi kami. Untuk melakukan ini, kita perlu menampilkan variabel dengan log pesan. Kita bisa melakukan ini dengan banyak cara. Misalnya, kita dapat memasukkan variabel dan memformat string dengan placeholder dan kemudian meneruskannya ke log pesan sehingga nilai variabel akan menjadi output dalam catatan.

Misalnya, lihat kode di bawah ini; anda dapat menyalin kode yang dijalankan di python IDE Anda.

impor logging var_message = logging "Kesalahan internal".warning("Server telah dihentikan karena %s", var_message)

Saat menjalankan kode, Anda akan melihat output, seperti yang ditunjukkan pada gambar di bawah ini. Seperti yang Anda lihat pada gambar bahwa nilai yang disimpan dalam variabel juga tercetak di layar.

Kami juga dapat menampilkan variabel dalam log menggunakan f-string, yang diperkenalkan di python 3.6. Tetapi untuk menggunakan f-string, Anda memerlukan python 3.6 atau lebih besar terinstal di sistem Anda. Anda dapat memeriksa versi python mana yang diinstal di sistem Anda dengan menjalankan perintah berikut di terminal.

python --version # untuk python 2 di Linux python3 --version # untuk python 3 di Linux

Ini akan mencetak versi python yang Anda gunakan di sistem Anda. Ini adalah praktik yang baik untuk menggunakan versi terbaru python untuk mendapatkan kinerja yang lebih baik; Anda dapat melihat panduan kami untuk memperbarui versi python di Linux.

Untuk memformat string menggunakan f-string dengan python, kita perlu menggunakan sintaks kode berikut:. Anda dapat menyalin dan menjalankan kode di IDE python favorit Anda.

impor logging var_message = logging "Kesalahan internal".warning(f"Server telah dihentikan karena var_message")

Saat menjalankan kode, Anda akan mendapatkan output yang mirip dengan yang kita dapatkan saat menjalankan kode di atas. Tetapi ketika kita melihat kodenya, kita dapat melihat f di awal string, yang menyatakan bahwa itu adalah f-string, dan kita dapat langsung menggunakan variabel dalam f-string dengan memasukkannya ke dalam kurung kurawal.

Mencatat Jejak Tumpukan

Modul logging juga dapat digunakan untuk menangkap jejak tumpukan. Jejak tumpukan adalah pesan pengecualian yang dilemparkan ketika kesalahan telah terjadi dalam program. Kami dapat menangkap pengecualian dengan mengatur parameter exc_info ke True saat memanggil fungsi logging. Parameter ini berguna karena kami dapat mencatat pesan pengecualian lengkap dengan pesan kesalahan kami di file atau layar terminal.

Untuk mendapatkan demo praktis untuk mengetahui bagaimana kami dapat menemukan jejak tumpukan, salin kode berikut ke IDE python Anda dan jalankan.

impor logging coba: a = 1/0 kecuali Pengecualian sebagai e: logging.error("Terjadi Kesalahan", exc_info=True)

Saat menjalankan kode, pengecualian akan dicatat di terminal. Anda akan melihat output dari kode, seperti yang ditunjukkan pada gambar di bawah ini. Anda juga dapat memasukkan pengecualian ke dalam file menggunakan parameter nama file dalam metode basicConfig(), seperti yang telah kita bahas di atas.

Metode ini juga penting dalam membangun aplikasi yang luas karena kita dapat memiliki penanganan pengecualian dengan logging, yang sangat baik untuk proses debugging.

Obyek Pencatat

Modul logging juga menyediakan beberapa kelas berguna yang dapat digunakan untuk logging yang lebih baik, terutama untuk aplikasi yang lebih luas. Mari kita lihat beberapa kelas modul logging yang paling sering digunakan dan apa dan bagaimana fungsinya.

Jika Anda menginginkan detail lengkap tentang cara menggunakan kelas ini, Anda dapat merujuk ke dokumentasi resmi modul python logging.

Kesimpulan

Pada artikel ini, kita telah mempelajari dasar-dasar melakukan logging dengan python. Modul logging adalah cara yang mudah dan ampuh untuk melakukan logging dengan python. Misalkan Anda tidak melakukan logging sampai sekarang, hari ini adalah hari untuk memulai logging saat Anda membaca artikel dan mempelajari betapa mudahnya menggunakan logging dengan python. Anda sekarang dapat menggunakan login di aplikasi kecil dan signifikan.

Jika Anda melakukan logging dengan benar, itu memang akan membantu dalam satu atau lain cara. Saya menyarankan Anda untuk mulai menggunakannya dari program kecil karena ini akan membantu Anda mendapatkan pengetahuan yang baik tentang satu atau dua hal dan akan sangat berharga untuk proyek besar. Anda mungkin juga ingin melihat cara bekerja dengan database SQLite di python. 

Tiru klik Mouse dengan mengarahkan mouse menggunakan Clickless Mouse di Windows 10
Menggunakan mouse atau keyboard dalam posisi yang salah dari penggunaan yang berlebihan dapat menyebabkan banyak masalah kesehatan, termasuk keteganga...
Tambahkan gerakan Mouse ke Windows 10 menggunakan alat gratis ini
Dalam beberapa tahun terakhir, komputer dan sistem operasi telah berkembang pesat. Ada saat ketika pengguna harus menggunakan perintah untuk menavigas...
Kontrol & kelola gerakan mouse di antara beberapa monitor di Windows 10
Manajer Mouse Tampilan Ganda memungkinkan Anda mengontrol & mengonfigurasi gerakan mouse di antara beberapa monitor, dengan memperlambat gerakannya di...