
輕巧的作曲家軟件包,用於文件記錄,具有通過Webhook發送錯誤的能力。
用法示例
為了在全球設置所有日誌文件的路徑,您可以在引導程序中調用setPath方法。
use Serhii TinyLogger Logger ;
Logger:: setPath ( ' logs/errors.log ' ); // simple format
Logger:: setPath ( ' logs/%s.log ' , ' errors ' ); // sprintf format注意:如果要在cron腳本中使用Logger或WordPress Hook之類的內容,則需要在腳本執行的第一步調用
setPath(),這意味著您的項目可能具有多個位置,需要為日誌設置路徑。如果您不想調用setPath()則可以將路徑傳遞到第三個參數的tiny_log()函數。請參閱“用法”部分中的示例。
該軟件包帶有一個函數tiny_log()其中不需要第二和第三參數。
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 .如果需要,也可以使用Logger類。它將與使用函數相同。
use Serhii TinyLogger Logger ;
Logger:: new ()-> error ( ' Some error message ' );
Logger:: new ()-> info ( ' Some info message ' );
Logger:: new ()-> debug ( ' Some error message ' );對於使用一個可用選項之一,您可以選擇將某些標誌傳遞到tiny_log()函數作為第二個參數。如果您還需要傳遞錯誤類型,則只需用管道將它們分開|特點。請參閱帶有選項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顯示記錄器的位置。在哪個文件以及它是什麼行號上。當您進行調試時,它很有用,不要忘記放置對數字的位置。請參閱輸出的示例: [2020-01-12 04:09:16] info: Some log message goes here
>>> /var/www/html/app/Services/App.php on line: 77.
Tiny Logger允許您在特定端點上將日誌作為JSON對象發送。要啟用此選項,您需要在Logger類上調用enablePostRequest方法。禁用發布請求使用disablePostRequest方法。
use Serhii TinyLogger Logger ;
Logger:: enablePostRequest ( ' http://my-site.com/webhook ' );現在,如果發生錯誤,則JSON將發送到帶有POST請求的http://my-site.com/webhook端點。
{
"timestamp" : " 1611675632 " ,
"message" : " Undefined variable at line 24 in \ App \ Models \ User class. " ,
"type" : " error "
}如果您需要自定義JSON對象結構,則可以將數組作為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 ' )
]);現在您會得到這樣的JSON:
{
"time" : " 1611675632 " ,
"errorMessage" : " Error message: Undefined variable at line 24 in \ App \ Models \ User class. " ,
"errorType" : " error " ,
"token" : " 29d62x7g656e6f9 "
}每個JSONFIELDVALUE常數將被其值替換。例如,JSONFIELVALUE ::消息將被錯誤消息替換。 JSONFIELVALUE :: TIMESTAMP將用錯誤時間戳替換。
注意:如果要在CRON腳本中使用Logger或WordPress Hook之類的內容,則需要在腳本執行的第一步中調用
enablePostRequest。
要安裝所有PHP依賴項,您需要在計算機上安裝Composer PHP軟件包管理器。然後,您需要在項目的根目錄中運行以下命令。
composer require serhii/tiny-logger