Pencatatan

PRADO menyediakan fungsionalitas sangat fleksibel dan bisa diperluas. Pesan yang dicatat dapat diklasifikasikan berdasarkan tingkat catatan dan kategori pesan. Menggunakan tingkat dan katkegori filter, pesan selanjutnya bisa dialihkan ke tujuan yang berbeda, seperti file, email, jendela browser, dll. Diagram berikut memperlihatkan arsitektur dasar dari mekanisme pencatatan PRADO,

Pengalih catatan

Menggunakan Fungsi Pencatatan

Dua metode berikut disediakan untuk mencatat pesan dalam PRADO,

Prado::log($message, $logLevel, $category); Prado::trace($message, $category);

Perbedaan antara Prado::log() dan Prado::trace() adalah bahwa yang kedua memilih secara otomatis tingkat catatan berdasarkan mode aplikasi. Jika aplikasi dalam mode Debug, informasi pelacakan stack ditambahkan ke pesan. Prado::trace() dipakai secara luas dalam kode inti kerangka kerja PRADO.

Pengalihan Pesan

Pesan yang dicatat menggunakan dua fungsi di atas dipelihara dalam memori. Untuk menggunakan pesan, para pengembang perlu mengalihkannya ke tujuan tertentu seperti file, email, atau jendela browser. Pengalihan pesan diatur oleh modul System.Util.TLogRouter. Ketika dimasukan ke dalam aplikasi, ia bisa mengalihkan pesan ke tujuan yang berbeda secara paralel. Saat ini PRADO menyediakan tiga jenis rute:

Untuk menghidupkan pengalihan pesan, masukan dan konfigurasi modul TLogRouter dalam konfigurasi aplikasi,

<module id="log" class="System.Util.TLogRouter"> <route class="TBrowserLogRoute" Levels="Info" Categories="System.Web.UI.TPage, System.Web.UI.WebControls" /> <route class="TFileLogRoute" Levels="Warning, Error" Categories="System.Web" /> </module>

Dalam contoh di atas, Levels dan Categories menetapkan log dan filter kategori untuk mengambil secara selektif pesan ke tujuan terkait.

Penyaringan Pesan

Pesan bisa disaring berdasarkan tingkat catatan serta kategorinya. Setiap catatan pesan dikaitkan dengan tingkat dan kategori catatan. Dengan tingkat dan kategori, para pengembang dapat mengambil pesan secara selektif yang menarik bagi mereka.

Tingkat catatan didefinisikan dalam System.Util.TLogger termasuk: DEBUG, INFO, NOTICE, WARNING, ERROR, ALERT, FATAL. Pesan bisa disaring berdasarkan kriteria tingkat catatan. Sebagai contoh, jika sebuah filter menetapkan tingkat WARNING dan ERROR, maka hanya pesan tersebut yakni WARNING and ERROR yang akan dikembalikan.

Kategori pesan adalah hirarkis. Kategori yang namanya awalan dari yang lain disebut leluhur kategori atas kategori lainnya. Sebagai contoh, kategori System.Web adalah leluhur dari kategori System.Web.UI dan System.Web.UI.WebControls. Pesan bisa diambil secara selektif menggunakan filter kategori hirarkis tersebut. Sebagai contoh, jika filter kategori adalah System.Web, maka semua pesan dalam System.Web dikembalikan. Sebagai tambahan, pesan dalam kategori anak seperti System.Web.UI.WebControls, juga dikembalikan.

Dengan ketentuan, pesan yang dicatat dalam kode inti PRADO dikategorikan berdasarkan namespace dari kelas terkait. Sebagai contoh, pesan yang dicatat dalam TPage akan menjadi kategori System.Web.UI.TPage.