日志分析
日志配置
OBS PHP SDK基于monolog日志组件提供了日志功能,您可以通过ObsClient->initLog开启日志功能并进行配置。示例代码如下:
$obsClient -> initLog ([ 'FilePath' => './logs', // 配置日志文件夹 'FileName' => 'eSDK-OBS-PHP.log', // 配置日志文件名 'MaxFiles' => 10, // 配置最大可保留的日志文件个数 'Level' => WARN // 配置日志级别 ]);
- 日志功能默认是关闭的,需要主动开启。
- 使用FilePath参数配置日志文件路径,可配置相对路径或绝对路径。
日志内容格式
SDK日志格式为:日志时间|日志级别|打印日志所的代码行数|日志内容。示例如下:
[2017-11-17 11:46:24][INFO][SendRequestTrait.php:376]: enter method createBucketAsync... [2017-11-17 11:46:24][INFO][SendRequestTrait.php:525]: http request cost 97 ms [2017-11-17 11:46:24][INFO][SendRequestTrait.php:538]: obsclient cost 155 ms to execute createBucketAsync
日志级别
当系统出现问题需要定位且当前的日志无法满足要求时,可以通过修改日志的级别来获取更多的信息。SDK内部定义了四个integer类型的常量以对应不同的日志级别,其中DEBUG日志信息最丰富,ERROR日志信息最少。
具体说明如下:
- DEBUG(100):调试级别,如果设置为这个级别,将打印SDK记录的所有日志。
- INFO(200):信息级别,如果设置为这个级别,除了打印WARN级别的信息外,还将打印HTTP/HTTPS请求的耗时时间等信息。
- WARN(300):告警级别,如果设置为这个级别,除了打印ERROR级别的信息外,还将打印一些关键事件的信息。
- ERROR(400):错误级别,如果设置为这个级别,仅打印发生异常时的错误信息。