Menggunakan perpustakaan logger di Rubi adalah cara mudah untuk melacak bila ada masalah dengan kode Anda. Ketika terjadi kesalahan, memiliki akun terperinci tentang apa yang terjadi sebelum kesalahan dapat menghemat waktu Anda menemukan bug. Saat program Anda menjadi lebih besar dan lebih kompleks, Anda mungkin ingin menambahkan cara untuk menulis pesan log. Ruby hadir dengan sejumlah berguna kelas dan perpustakaan yang disebut perpustakaan standar. Di antaranya adalah perpustakaan logger, yang menyediakan penebangan diprioritaskan dan diputar.
Penggunaan Dasar
Karena pustaka logger hadir dengan Ruby, tidak perlu memasang permata atau pustaka lainnya. Untuk mulai menggunakan perpustakaan logger, cukup memerlukan 'logger' dan buat objek Logger baru. Pesan apa pun yang ditulis ke objek Logger akan ditulis ke file log.
#! / usr / bin / env ruby
membutuhkan 'logger'
log = Logger.new ('log.txt')
log.debug "File log dibuat"
Prioritas
Setiap pesan log memiliki prioritas. Prioritas ini membuatnya mudah untuk mencari file log untuk pesan serius, serta membuat objek logger secara otomatis menyaring pesan yang lebih rendah ketika mereka tidak diperlukan. Anda dapat menganggapnya seperti daftar Tugas yang harus Anda lakukan hari itu. Beberapa hal mutlak harus dilakukan, beberapa hal benar-benar harus dilakukan, dan beberapa hal dapat ditunda sampai Anda punya waktu untuk melakukannya.
Dalam contoh sebelumnya, prioritasnya adalah debug, yang paling tidak penting dari semua prioritas ("tunda sampai Anda punya waktu" dari daftar Aktivitas Anda, jika Anda mau). Prioritas pesan log, dalam urutan dari paling tidak ke yang paling penting, adalah sebagai berikut: debug, info, memperingatkan, kesalahan, dan fatal. Untuk mengatur tingkat pesan yang harus diabaikan oleh logger, gunakan tingkat atribut.
#! / usr / bin / env ruby
membutuhkan 'logger'
log = Logger.new ('log.txt')
log.level = Logger:: PERINGATAN
log.debug "Ini akan diabaikan"
log.error "Ini tidak akan diabaikan"
Anda dapat membuat pesan log sebanyak yang Anda inginkan dan Anda dapat mencatat setiap hal kecil yang dilakukan program Anda, yang menjadikan prioritas sangat berguna. Ketika Anda menjalankan program Anda, Anda dapat meninggalkan level logger pada sesuatu seperti peringatan atau kesalahan untuk menangkap hal-hal penting. Kemudian, ketika terjadi kesalahan, Anda dapat menurunkan level logger (baik dalam kode sumber atau dengan saklar baris perintah) untuk mendapatkan informasi lebih lanjut.
Rotasi
Perpustakaan logger juga mendukung rotasi log. Rotasi log menjaga agar log tidak menjadi terlalu besar dan membantu dalam pencarian melalui log yang lebih lama. Ketika rotasi log diaktifkan dan log mencapai ukuran tertentu atau usia tertentu, perpustakaan logger akan mengganti nama file itu dan membuat file log baru. File log yang lebih lama juga dapat dikonfigurasi untuk dihapus (atau "jatuh rotasi") setelah usia tertentu.
Untuk mengaktifkan rotasi log, berikan 'bulanan', 'mingguan', atau 'harian' ke konstruktor Logger. Secara opsional, Anda dapat memberikan ukuran file maksimum dan jumlah file agar tetap bergiliran ke konstruktor.
#! / usr / bin / env ruby
membutuhkan 'logger'
log = Logger.new ('log.txt', 'daily')
log.debug "Setelah log menjadi setidaknya satu"
log.debug "hari tua, namanya akan diganti dan"
log.debug "file log.txt baru akan dibuat."