日志初始化(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开启日志功能。
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()
