Cara Melihat File Log CodeIgniter di Browser

Sama seperti halaman lainnya, sekarang dimungkinkan untuk membaca file log CodeIgniter di browser. Astaga!

Saya mulai menggunakan CodeIgniter di koding saya sehari-hari setelah bergabung dengan perusahaan yang luar biasa. Tumpukan teknologi perusahaan mencakup Kerangka PHP - antara lain. Sampai sekarang, saya telah menggunakan ( dan masih menggunakan ) Laravel untuk membangun beberapa aplikasi yang luar biasa.

Laravel memiliki sistem logging yang bagus, sederhana dan elegan. Selain itu, ada perpustakaan untuk menampilkan log di browser. Mampu membaca log di browser bagus untuk debugging aplikasi dan wawasan. Terutama di lingkungan produksi.

Jadi di sinilah saya berada di dunia CodeIgniter dan tidak dapat menemukan perpustakaan yang setara untuk membaca log saya untuk debugging dan wawasan.

Jadi saya mengambil tantangan dan membuat proyek Open Source pertama saya tahun ini - codeigniter-log-viewer.

Pemakaian

Pertama, mari tambahkan ke dependensi. Kita dapat melakukannya dengan menjalankan:

composer require seunmatt/codeigniter-log-viewer

Kemudian, kita dapat membuat pengontrol aplikasi CodeIgniter, LogViewerController.php :

private $logViewer;
public function __construct() { $this->logViewer = new \CILogViewer\CILogViewer(); //...}
public function index() { echo $this->logViewer->showLogs(); return;}

Apa yang kita lakukan adalah membuat instance $ logViewer di konstruktor dan kemudian menggemakan hasil showLogs () di fungsi index () .

Metode showLogs () dari codeigniter-log-viewer akan mengurai konten file log di aplikasi / log . Ini akan mengembalikannya untuk ditampilkan di browser.

Akhirnya, kita bisa memetakan rute apapun pilihan kita ke index () yang kita buat di atas. Ini bisa dilakukan dengan menambahkan entri ke array $ route di application / config / routes.php:

$route['logs'] = "logViewerController/index";

Sekarang kita dapat mengunjungi / log di browser dan melihat semua file log di sana. Anda juga dapat menghapus dan mengunduh file log.

Catatan : Disarankan untuk menggunakan rute yang dilindungi di lingkungan produksi untuk menghindari akses publik secara umum.

Bagaimana itu bekerja

Secara internal, perpustakaan membaca nama semua file log yang tersedia di direktori log default ke dalam array dan membalikkannya. Jika tidak ada file yang ditentukan dalam parameter kueri URL, file log terbaru diproses untuk ditampilkan secara default.

Pemrosesan file log untuk ditampilkan melibatkan membaca kontennya, menggunakan regex untuk menentukan level log dan kelas CSS serta ikon dari setiap entri.

Setiap entri juga diperiksa untuk mengetahui apakah itu baris log baru atau kelanjutan dari baris sebelumnya ( karena karakter baris baru ).

Terakhir, entri log diproses menjadi konten HTML yang kemudian dikirim ke browser untuk ditampilkan.

Kode sumber lengkap tersedia di Github jika Anda ingin bermain-main dengannya atau / dan menyesuaikannya untuk digunakan dalam kerangka lain.

Kesimpulan

Sekarang lebih mudah dan lebih cepat untuk men-debug aplikasi CodeIgniter - bahkan dalam produksi. Sebarkan beritanya kepada teman dan kolega di tempat kerja.

Saya ingin mendengar tentang pengalaman Anda ( dan pendapat ) menggunakan perpustakaan di bagian komentar. Terima kasih!

Kunjungi Tautan Github