日志分析
设置方式
开启系统日志记录,代码如下所示:
static OBSClient *client; NSString *endPoint = @"your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量AccessKeyID和SecretAccessKey。 // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html char* ak_env = getenv("AccessKeyID"); char* sk_env = getenv("SecretAccessKey"); NSString *AK = [NSString stringWithUTF8String:ak_env]; NSString *SK = [NSString stringWithUTF8String:sk_env]; // 初始化身份验证 OBSStaticCredentialProvider *credentialProvider = [[OBSStaticCredentialProvider alloc] initWithAccessKey:AK secretKey:SK]; //初始化服务配置 OBSServiceConfiguration *conf = [[OBSServiceConfiguration alloc] initWithURLString:endPoint credentialProvider:credentialProvider]; // 初始化client client = [[OBSClient alloc] initWithConfiguration:conf]; // *****日志设置******* // 设置系统日志打印 [client addLogger:[OBSDDASLLogger sharedInstance]]; // 打开窗口打印 [client addLogger:[OBSDDTTYLogger sharedInstance]]; // 设置日志文件记录 OBSDDFileLogger *fileLogger = [[OBSDDFileLogger alloc] init]; // 保留时间 fileLogger.rollingFrequency = 60 * 60 * 24; // 24 hour rolling // 最大文件数目 fileLogger.logFileManager.maximumNumberOfLogFiles = 7; // 自定义日志添加 [client addLogger:fileLogger]; // 日志文件地址 OBSDDLogFileInfo *ts =[fileLogger currentLogFileInfo]; NSLog(@"%@", ts); // 设置日志等级 [client setLogLevel:OBSDDLogLevelDebug]; // 开启日志 [client setASLogOn];
日志级别
当系统出现问题需要定位且当前的日志无法满足要求时,可以通过修改日志的级别来获取更多的信息。其中OBSDDLogLevelVerbose日志信息最丰富,OBSDDLogLevelError日志信息最少。默认为OBSDDLogLevelInfo。
类型 |
描述 |
---|---|
OBSDDLogLevelOff |
关闭日志。 |
OBSDDLogLevelError |
只打印错误信息。 |
OBSDDLogLevelWarning |
打印错误和警告信息。 |
OBSDDLogLevelInfo |
打印错误、警告、基本运行信息。 |
OBSDDLogLevelDebug |
打印错误、警告、基本运行、调试信息。 |
OBSDDLogLevelVerbose |
打印所有日志信息。 |