HiLog日志提供的主要接口是什么?
时间: 2023-10-10 11:10:15 浏览: 51
HiLog 日志提供了以下几个主要接口:
1. HiLog::debug:用于输出调试信息的接口。
2. HiLog::info:用于输出信息的接口。
3. HiLog::warn:用于输出警告信息的接口。
4. HiLog::error:用于输出错误信息的接口。
5. HiLog::fatal:用于输出严重错误信息的接口。
这些接口都接受两个参数:一个是表示日志级别的枚举值,另一个是表示要输出的日志信息的字符串。在输出日志信息时,可以在字符串中使用占位符,用具体的参数值替换占位符。例如:
```
HiLog::info(LOG_CORE, "Hello, %s!", "world");
```
这条语句将输出一条信息级别的日志,内容为 "Hello, world!"。其中,LOG_CORE 是一个枚举值,表示日志级别;"Hello, %s!" 是要输出的日志信息的字符串,其中 %s 是一个占位符,表示将要输出的字符串参数。
相关问题
static_library("iot_wifi") { sources = [ "iot_wifi.c", "iot_netcfg.c", "iot_softap.c", ] cflags = [ "-Wno-unused-variable" ] cflags += [ "-Wno-unused-but-set-variable" ] cflags += [ "-Wno-unused-parameter" ] include_dirs = [ "//kernel/liteos_m/components/net/lwip-2.1/enhancement/include/lwip", "//kernel/liteos_m/components/net/lwip-2.1/porting/include/", "//base/hiviewdfx/hilog_lite/interfaces/native/innerkits/hilog", "//foundation/communication/wifi_lite/interfaces/wifiservice/", "//third_party/mbedtls/include/mbedtls", "//kernel/liteos_m/kal/cmsis", "//third_party/cJSON", "//utils/native/lite/include", "../inc", ] deps = [ "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_static", ] }
这是一个名为 "iot_wifi" 的静态库的构建配置。它包含了以下源文件:
- iot_wifi.c
- iot_netcfg.c
- iot_softap.c
构建选项中设置了一些编译标志,如忽略未使用的变量和参数。包含的头文件路径如下:
- //kernel/liteos_m/components/net/lwip-2.1/enhancement/include/lwip
- //kernel/liteos_m/components/net/lwip-2.1/porting/include/
- //base/hiviewdfx/hilog_lite/interfaces/native/innerkits/hilog
- //foundation/communication/wifi_lite/interfaces/wifiservice/
- //third_party/mbedtls/include/mbedtls
- //kernel/liteos_m/kal/cmsis
- //third_party/cJSON
- //utils/native/lite/include
- ../inc
此外,该静态库依赖于另一个名为 "hilog_static" 的静态库,路径为:
- //base/hiviewdfx/hilog_lite/frameworks/featured:hilog_static
#include "color_parser.h" #include <cstdlib> #include "window_manager_hilog.h" namespace OHOS { namespace Rosen { namespace { constexpr HiviewDFX::HiLogLabel LABEL = {LOG_CORE, HILOG_DOMAIN_WINDOW, "ColorParser"}; } bool ColorParser::Parse(const std::string& colorStr, uint32_t& colorValue) { if (colorStr.empty()) { WLOGFE("color string is empty"); return false; } if (colorStr[0] == '#') { // start with '#' std::string color = colorStr.substr(1); if (!IsValidHexString(color)) { return false; } char* ptr; colorValue = std::strtoul(color.c_str(), &ptr, 16); // convert hex string to number if (colorStr.size() == 7) { // #RRGGBB: RRGGBB -> AARRGGBB colorValue |= 0xff000000; return true; } else if (colorStr.size() == 9) { // #AARRGGBB return true; } else { // do nothing } } return false; } bool ColorParser::IsValidHexString(const std::string& colorStr) { if (colorStr.empty()) { return false; } for (char ch : colorStr) { if ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'f') || (ch >= 'A' && ch <= 'F')) { continue; } return false; } return true;
这段代码是一个名为 "ColorParser" 的命名空间中的类。它提供了两个公共的静态成员函数:Parse和IsValidHexString。
Parse函数用于解析颜色字符串,接受一个颜色字符串作为参数,并将解析后的颜色值存储在colorValue参数中。首先,它检查颜色字符串是否为空,如果为空,则返回false。然后,它检查颜色字符串是否以 '#' 开头,如果不是,则返回false。接下来,它截取字符串中的颜色部分,并检查截取后的字符串是否是一个有效的十六进制字符串。如果不是有效的十六进制字符串,则返回false。接着,它使用std::strtoul函数将十六进制字符串转换为无符号整数,并将转换后的值存储在colorValue中。如果颜色字符串长度为7,则将colorValue的高8位设置为0xFF,以将其转换为ARGB格式。如果颜色字符串长度为9,则表示颜色字符串已经是ARGB格式。最后,如果以上条件都不满足,则返回false。
IsValidHexString函数用于检查给定的字符串是否是一个有效的十六进制字符串。它首先检查字符串是否为空,如果为空,则返回false。然后,它遍历字符串中的每个字符,并检查字符是否是0-9、a-f或A-F之间的字符。如果字符不在这个范围内,则返回false。如果所有字符都满足条件,则返回true。
这段代码还使用了一些其他的头文件和命名空间,如"color_parser.h"、<cstdlib>、"window_manager_hilog.h"等。它还定义了一个私有的constexpr HiLogLabel变量LABEL,用于日志输出。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![mp4](https://img-home.csdnimg.cn/images/20210720083504.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)