日志分析
日志路径
OBS Android SDK的日志路径是通过LogConfigurator.setLogFileDir指定的,默认存放于SD卡的logs目录下。日志文件名为:OBS-SDK.log。
日志内容格式
SDK日志格式为:日志时间|线程号|日志级别|日志内容。示例如下:
2017-08-21 17:40:07 133|main|INFO |HttpClient cost 157 ms to apply http request 2017-08-21 17:40:07 133|main|INFO |Received expected response code: true 2017-08-21 17:40:07 133|main|INFO |expected code(s): [200, 204]. 2017-08-21 17:40:06 820|main|INFO |Storage|1|HTTP+XML|ObsClient||||2017-08-21 17:40:05|2017-08-21 17:40:06|||0| 2017-08-21 17:40:07 136|main|INFO |Storage|1|HTTP+XML|setObjectAcl||||2017-08-21 17:40:06|2017-08-21 17:40:07|||0| 2017-08-21 17:40:07 137|main|INFO |ObsClient [setObjectAcl] cost 312 ms
日志级别
当系统出现问题需要定位且当前的日志无法满足要求时,可以通过修改日志的级别来获取更多的信息。其中TRACE日志信息最丰富,ERROR日志信息最少。可以通过LogConfigurator.setLogLevel设置日志级别。
具体说明见下表:
| 
        日志级别  | 
      
        说明  | 
      
        OBS Android SDK对应值  | 
     
|---|---|---|
| 
        OFF  | 
      
        关闭级别,如果设置为这个级别,日志打印功能将被关闭。  | 
      
        LogConfigurator.OFF  | 
     
| 
        TRACE  | 
      
        跟踪级别,如果设置为这个级别,将打印所有日志信息。通常不建议使用。  | 
      
        LogConfigurator.TRACE  | 
     
| 
        DEBUG  | 
      
        调试级别,如果设置为这个级别,除了打印INFO级别以上的信息外,还将打印每次HTTP/HTTPS请求和响应的头信息,鉴权算法计算出的StringToSign信息等。  | 
      
        LogConfigurator.DEBUG  | 
     
| 
        INFO  | 
      
        信息级别,如果设置为这个级别,除了打印WARN级别以上的信息外,还将打印HTTP/HTTPS请求的耗时时间,ObsClient接口的耗时时间等。  | 
      
        LogConfigurator.INFO  | 
     
| 
        WARN  | 
      
        告警级别,如果设置为这个级别,除了打印ERROR级别以上的信息外,还将打印一些关键事件的信息,如重试请求超过最大次数等。  | 
      
        LogConfigurator.WARN  | 
     
| 
        ERROR  | 
      
        错误级别,如果设置为这个级别,仅打印发生异常时的错误信息。  | 
      
        LogConfigurator.ERROR  | 
     
日志无法生成
如发现无法生成日志,检查AndroidManifest.xml文件中是否加入了以下权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />