
Paket komposer ringan untuk pencatatan file dengan kemampuan mengirim kesalahan dengan webhook.
Contoh Penggunaan
Untuk mengatur jalur secara global untuk semua file log yang dapat Anda hubungi metode setPath di file bootstrap Anda.
use Serhii TinyLogger Logger ;
Logger:: setPath ( ' logs/errors.log ' ); // simple format
Logger:: setPath ( ' logs/%s.log ' , ' errors ' ); // sprintf formatCatatan: Jika Anda ingin menggunakan Logger dalam skrip cron atau sesuatu seperti WordPress Hook, Anda perlu memanggil
setPath()pada langkah pertama dari eksekusi skrip, itu berarti bahwa proyek Anda mungkin memiliki banyak tempat di mana Anda perlu mengatur jalur untuk log Anda. Jika Anda tidak ingin meneleponsetPath()Anda bisa melewati jalur ke fungsitiny_log()sebagai argumen ketiga. Lihat contoh di bagian penggunaan.
Paket ini dilengkapi dengan fungsi tiny_log() di mana argumen kedua dan ketiga tidak diperlukan.
tiny_log ( ' Some error message ' );
// Output in file: [2020-01-12 04:09:16] error: Some error message.
tiny_log ( ' Some error message ' , ' info ' );
// Output in file: [2020-01-12 04:09:16] info: Some error message.
tiny_log ( ' Some error message ' , ' debug ' , ' logs/debug.log ' );
// If you don't need to set path globally, just pass file path as the third argument to the tiny_log function .Anda juga dapat menggunakan kelas Logger jika Anda mau. Ini akan melakukan hal yang sama dengan menggunakan fungsi.
use Serhii TinyLogger Logger ;
Logger:: new ()-> error ( ' Some error message ' );
Logger:: new ()-> info ( ' Some info message ' );
Logger:: new ()-> debug ( ' Some error message ' ); Untuk menggunakan salah satu opsi yang tersedia, Anda dapat secara opsional meneruskan bendera tertentu ke fungsi tiny_log() sebagai argumen kedua. Jika Anda juga perlu lulus tipe kesalahan cukup pisahkan dengan pipa | karakter. Lihat contoh dengan opsi pos :
tiny_log ( ' Some error message ' , ' pos ' ); // just passing option
tiny_log ( ' Some error message ' , ' pos|error ' ); // 'pos' option with error type 'error'
tiny_log ( ' Some error message ' , ' pos|info ' ); // 'pos' option with error type 'info' pos - Tampilkan posisi logger. Di file mana dan nomor baris apa itu. Ini berguna saat Anda men -debug, untuk tidak lupa di mana Anda meletakkan logger Anda. Lihat contoh output: [2020-01-12 04:09:16] info: Some log message goes here
>>> /var/www/html/app/Services/App.php on line: 77.
Tiny Logger memungkinkan Anda untuk mengirim log sebagai objek JSON pada titik akhir tertentu. Untuk mengaktifkan opsi ini, Anda perlu memanggil metode enablePostRequest pada kelas Logger . Untuk menonaktifkan permintaan POST PENGGUNAAN disablePostRequest .
use Serhii TinyLogger Logger ;
Logger:: enablePostRequest ( ' http://my-site.com/webhook ' ); Sekarang jika kesalahan terjadi, JSON akan dikirim ke http://my-site.com/webhook dengan permintaan pos.
{
"timestamp" : " 1611675632 " ,
"message" : " Undefined variable at line 24 in \ App \ Models \ User class. " ,
"type" : " error "
} Jika Anda perlu menyesuaikan struktur objek JSON, Anda dapat melewati array sebagai argumen kedua pada metode enablePostRequest .
use Serhii TinyLogger JsonFieldValue ;
use Serhii TinyLogger Logger ;
Logger:: enablePostRequest ( ' http://my-site.com/webhook ' , [
' time ' => JsonFieldValue:: TIMESTAMP ,
' errorMessage ' => ' Error message: ' . JsonFieldValue:: MESSAGE ,
' errorType ' => JsonFieldValue:: ERROR_TYPE ,
' token ' => getenv ( ' MY_AUTH_TOKEN ' )
]);Sekarang Anda akan mendapatkan JSON seperti ini:
{
"time" : " 1611675632 " ,
"errorMessage" : " Error message: Undefined variable at line 24 in \ App \ Models \ User class. " ,
"errorType" : " error " ,
"token" : " 29d62x7g656e6f9 "
}Setiap konstanta JsonFieldValue akan diganti dengan nilainya. Misalnya JsonFieldValue :: Pesan akan diganti dengan pesan kesalahan. JsonFieldValue :: Timestamp akan diganti dengan cap waktu.
Catatan: Jika Anda ingin menggunakan Logger dalam skrip cron atau sesuatu seperti WordPress Hook, Anda perlu menelepon
enablePostRequestpada langkah pertama dari eksekusi skrip.
Untuk menginstal semua dependensi PHP, Anda harus memiliki komposer PHP Package Manager yang diinstal pada mesin Anda. Maka Anda perlu menjalankan perintah di bawah ini di direktori root proyek Anda.
composer require serhii/tiny-logger