
# 日志分析
#### 日志配置
OBS PHP SDK基于monolog日志组件提供了日志功能，您可以通过ObsClient-\>initLog开启日志功能并进行配置。示例代码如下：
```
$obsClient->initLog([
       'FilePath' => './logs', // 配置日志文件夹
       'FileName' => 'eSDK-OBS-PHP.log', // 配置日志文件名
       'MaxFiles' => 10, // 配置最大可保留的日志文件个数
       'Level' => WARN  // 配置日志级别
]);
```
![](https://support.huaweicloud.com/sdk-php-devg-obs/public_sys-resources/note_3.0-zh-cn.png)
- 日志功能默认是关闭的，需要主动开启。
- 使用**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）：错误级别，如果设置为这个级别，仅打印发生异常时的错误信息。
 
