当前位置: 首页 > news >正文

北京工程建设交易中心网站卢松松网站模板

北京工程建设交易中心网站,卢松松网站模板,企业网站的开发,全球咨询公司排名注#xff1a;本文由CHATGPT辅助创作#xff0c;未经验证#xff0c;实际工程使用请仔细甄别。 对于设置日志级别的几种方式#xff08;esp_log_level_set、CONFIG_LOG_DEFAULT_LEVEL、CONFIG_LOG_MAXIMUM_LEVEL、LOG_LOCAL_LEVEL #xff09;容易混淆#xff0c;特此学习… 注本文由CHATGPT辅助创作未经验证实际工程使用请仔细甄别。 对于设置日志级别的几种方式esp_log_level_set、CONFIG_LOG_DEFAULT_LEVEL、CONFIG_LOG_MAXIMUM_LEVEL、LOG_LOCAL_LEVEL 容易混淆特此学习并记录。 文章目录 一. 初始化与基础用法二. 日志级别三. 日志函数四. 设置日志级别1. esp_log_level_set(TAG, level)2. CONFIG_LOG_DEFAULT_LEVEL3. LOG_LOCAL_LEVELCONFIG_LOG_MAXIMUM_LEVEL三者的优先级和交互关系 五. 日志格式 ESP官网参考链接 https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-reference/system/log.html日志库 ESP32的日志库esp_log.h提供了一个简单而高效的方式来记录调试信息、错误和其他日志。使用这个库可以方便地将日志信息输出到串口、文件等有助于开发过程中的调试和性能分析。以下是它的使用方法和一些常见的API。 一. 初始化与基础用法 在FreeRTOS系统中只需包含头文件即可使用不需要专门初始化。默认情况下所有日志会输出到UART。 #include esp_log.h二. 日志级别 ESP32的日志库支持以下几种日志级别按优先级从高到低排列 ESP_LOG_ERROR错误信息严重的问题。ESP_LOG_WARN警告信息潜在问题。ESP_LOG_INFO 一般信息系统状态或进程说明。ESP_LOG_DEBUG调试信息用于开发阶段的详细信息。ESP_LOG_VERBOSE最详细的信息一般用于跟踪代码流。 可以使用环境变量或代码设置日志级别控制输出。 三. 日志函数 以下是常见的日志函数TAG是用来标记日志来源的字符串可以方便地追踪日志属于哪个模块。 #define TAG my_module // 定义一个TAG用于标记模块名称ESP_LOGE(TAG, This is an error message: %d, error_code); // 错误日志 ESP_LOGW(TAG, This is a warning); // 警告日志 ESP_LOGI(TAG, System is running at %d MHz, cpu_freq); // 信息日志 ESP_LOGD(TAG, Variable x %d, x); // 调试日志 ESP_LOGV(TAG, Entering function foo()); // 详细日志这些宏会根据设置的日志级别进行编译如果设置为较低的日志级别例如ESP_LOG_INFO则不会编译更高详细级别如DEBUG或VERBOSE从而节省资源。 (见下章) 四. 设置日志级别 在ESP-IDF中CONFIG_LOG_DEFAULT_LEVEL配置、 LOG_LOCAL_LEVEL宏定义、esp_log_level_set(TAG, level)函数这三者都可以控制日志的输出级别但它们的作用范围和应用时机各有不同。以下是这三个方法的详细说明和它们之间的区别 1. esp_log_level_set(TAG, level) 启用 CONFIG_LOG_DYNAMIC_LEVEL_CONTROL 选项后则可在运行时通过 esp_log_level_set() 更改日志级别。 动态更改日志级别提高了灵活性但也会产生额外的代码开销。 如果应用程序不需要动态更改日志级别并且不需要使用标签来控制每个模块的日志建议禁用 CONFIG_LOG_DYNAMIC_LEVEL_CONTROL。 作用范围运行时设置特定模块的日志级别。作用对象仅针对指定的 TAG模块生效。生效时机运行时动态控制可以在代码的不同部分调整同一模块的日志级别。使用场景当需要在运行时动态调整某个模块的日志级别时使用例如调试特定模块而不影响其他模块的日志输出。 esp_log_level_set(my_module, ESP_LOG_WARN); // 将my_module模块的日志级别设置为WARN esp_log_level_set(*, ESP_LOG_INFO); // 将所有模块的日志级别设置为INFO注意函数 esp_log_level_set() 无法将日志级别设置为高于 CONFIG_LOG_MAXIMUM_LEVEL 指定的级别。如需在编译时将特定文件的日志级别提高到此最高级别以上请使用 LOG_LOCAL_LEVEL 宏。 2. CONFIG_LOG_DEFAULT_LEVEL 在 menuconfig 中使用选项 CONFIG_LOG_DEFAULT_LEVEL 来设置日志级别。配置后项目中所有模块的默认日志级别将被设置如 ESP_LOG_WARN即启用所有级别低于 CONFIG_LOG_DEFAULT_LEVEL 的日志。 作用范围全局默认日志级别影响整个项目的日志输出。作用对象所有模块的默认日志级别。生效时机编译时配置通过 menuconfig 设置。此选项在项目编译前生效编译完成后无法动态更改。使用场景用于为整个项目设置统一的日志级别适合在正式发布时限制日志输出。 通过 menuconfig 配置 idf.py menuconfig # 进入 Component config - Log output - Default log verbosity # 设置全局默认日志级别例如设置为 WARN3. LOG_LOCAL_LEVEL 作用范围文件级别影响单个源文件的日志输出。作用对象当前源文件中的所有日志宏调用。生效时机编译时控制必须在文件顶部定义在编译时决定当前文件可输出的日志级别。使用场景当某个源文件需要更高或更低的日志级别而不影响其他文件的日志输出时使用。 在文件顶部定义 #define LOG_LOCAL_LEVEL ESP_LOG_WARN #include esp_log.h这样设置后当前文件中的所有日志输出会限制在 WARN 级别及以上即使在代码中调用了 ESP_LOGD()这些低级别日志也不会输出。 CONFIG_LOG_MAXIMUM_LEVEL 可以在 menuconfig 中使用选项 CONFIG_LOG_MAXIMUM_LEVEL 设置最高日志级别。这个选项默认被配置为默认级别但这个选项也可以被配置为更高级别将更多的可选日志编译到固件中。 三者的优先级和交互关系 CONFIG_LOG_DEFAULT_LEVEL 是项目的全局默认日志级别影响所有模块但它可以被 esp_log_level_set和 LOG_LOCAL_LEVEL 覆盖。LOG_LOCAL_LEVEL 的优先级高于CONFIG_LOG_DEFAULT_LEVEL并且只能影响定义了它的源文件。如果某文件定义了 #define LOG_LOCAL_LEVEL ESP_LOG_WARN即便全局日志级别为 INFO该文件仍会限制在 WARN 及以上。 总结 如果想控制单个模块的日志输出可以在代码中用 esp_log_level_set(TAG, level)。如果希望在编译时控制单个文件的日志级别可以使用 LOG_LOCAL_LEVEL。如果需要在项目整体上控制日志级别使用 CONFIG_LOG_DEFAULT_LEVEL。 五. 日志格式 默认的日志输出格式包括时间戳、日志级别和标签等。输出样例如下 I (200) my_module: System is running at 160 MHz其中 I 表示 INFO 级别。(200) 表示时间戳从系统启动以来的毫秒数。my_module 是 TAG 标签。
http://www.hkea.cn/news/14273465/

相关文章:

  • 上海建设银行网站莘庄wordpress 腾讯验证码
  • 微信做商城网站产品销售推广方案
  • 网站专栏建设工作方案老地方在线观看免费资源大全
  • 手机网站大全观看商城网站开发时间
  • 自适应网站的代表网站建设三方协议
  • .net 快速网站开发武昌做网站哪家专业
  • 网站售后维护中国建设监理协会网站继续教育
  • 万网做网站怎么样口红做网站多少钱
  • 济南哪里有网站公司邯郸房产网签怎么查询
  • 成都网站成都网站制作公司如何注册一个域名
  • 试用网站空间阿里企业邮箱下载
  • 电商网站欣赏鹰潭市网站建设公司
  • 网上免费个人网站买商标
  • 上海做网站定制查图百度识图
  • 188建站系统源码随身办app下载
  • 网络推广 SEO优化 网站建设建设厅焊工证什么样子
  • 网站淘宝客 没备案怎么做自己的网站到期域名如何续费
  • 中国化工第九建设公司网站wordpress 添加栏目
  • 湖北省建设厅官方网站八大员企业年报系统登录入口
  • 淄博微网站建设龙华在深圳算什么档次
  • 做百度竞价用什么网站作文网高中
  • 建设微信网站的流程wordpress用户权限设置
  • 杜桥做网站哪家好建设银行纪念币预约网站
  • 微网站幻灯片尺寸网站建设 宁夏
  • 中企动力官网网站南京网站制作费用
  • 谷歌网站推广好做吗郑州做订货网站
  • 外国人做美食视频网站如何进入微信公众号平台
  • 移动做网站吗wordpress可以商用
  • 谢岗镇做网站阿里云服务器租用价格
  • 三亚城乡建设局网站邮件网站排名