日志初始化(Python SDK)
功能说明
通过开启SDK日志功能,可将接口调用过程中产生的日志信息记录到日志文件,用于后续的数据分析或问题定位。具体步骤如下:
- 找到OBS Python SDK开发包(github获取)中的log.conf文件。其内容格式如下:
[LOGCONF] #Configure log file dir LogFileDir = ./logs #Configure log file name LogFileName = eSDK-OBS-PYTHON.log #Configure log file size, unit:MB LogFileSize = 30 #Configure max log file numbers LogFileNumber = 5 #Configure log level for log file (DEBUG | INFO | WARNING | ERROR) LogFileLevel = INFO #Configure whether to print log to console (Yes:1 No:0) PrintLogToConsole = 0 #Configure log level for console (DEBUG | INFO | WARNING | ERROR) PrintLogLevel = WARNING
- 根据实际情况修改log.conf中的配置参数。
- 调用ObsClient.initLog开启日志功能。
- 日志功能默认是关闭的,需要主动开启。
- 您可以从日志分析章节获取更多关于SDK日志的信息。
- 您可以根据实际需要在系统中修改日志文件的权限。
OBS Python SDK的日志模块是线程安全非进程安全的,如果在多进程场景下使用ObsClient请务必为每个ObsClient配置独立的日志路径,防止多个进程并发写日志时发生冲突。
方法定义
obsClient.initLog( log_config='*** Your Log Configuration Parameters ***', log_name='*** Your Log Name ***' )
构造函数参数描述
字段名 |
类型 |
约束 |
说明 |
---|---|---|---|
log_config |
必选 |
日志配置参数。 |
|
log_name |
str |
可选 |
日志名称。 |
代码样例
# 引入模块 from obs import ObsClient # 推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。 # 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html。 ak = os.getenv("AccessKeyID") sk = os.getenv("SecretAccessKey") # 【可选】如果使用临时AKSK和SecurityToken访问OBS,则同样推荐通过环境变量获取 security_token = os.getenv("SecurityToken") # server填写Bucket对应的Endpoint, 这里以华北-北京四为例,其他地区请按实际情况填写。 server = "https://obs.cn-north-4.myhuaweicloud.com" # 创建obsClient实例 # 如果使用临时AKSK和SecurityToken访问OBS,需要在创建实例时通过security_token参数指定securityToken值 obsClient = ObsClient(access_key_id=ak, secret_access_key=sk, server=server) # 引入日志模块 from obs import LogConf # 指定日志配置文件路径,初始化ObsClient日志 obsClient.initLog(LogConf('./log.conf'), '*** Your Log Name ***') # 使用ObsClient访问OBS服务 # 关闭ObsClient日志 obsClient.close()