
轻巧的作曲家软件包,用于文件记录,具有通过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