新闻详情

新闻详情

首页 / 资讯中心 / 详情

Home Assistant Logger 集成动作详解:用 logger.set_default_level 统一掌控默认日志级别

发布时间:2026/9/16 23:15:00来源:尧图网络
Home Assistant Logger 集成动作详解:用 logger.set_default_level 统一掌控默认日志级别
Home Assistant Logger 集成动作详解用 logger.set_default_level 统一掌控默认日志级别【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.iologger.set_default_level是 Home Assistant Logger 系统集成提供的一个内置动作action用于为所有未单独设置日志级别的集成统一指定默认的日志详细程度。本文基于本仓库中该动作的官方参考文档logger.set_default_level 动作文档与 Logger 集成文档logger 集成文档完整讲解该动作的 UI 操作、YAML 写法、参数取值并延伸说明它与logger.set_level、configuration.yaml中logger:配置的关系帮助你按需调整 Home Assistant 全局日志的详略程度。动作是什么logger.set_default_level动作用于设置默认日志级别。这个级别只对没有自己专属日志级别的集成生效即作为全局兜底级别。当你想横跨所有集成统一调整日志的详细程度时例如在排查问题时把整体日志提升到 debug 级别以观察更多细节或平时把日志收紧到更安静的级别这个动作是最直接的入口。需要注意的权限限制只有拥有管理员权限的用户才能执行此动作。每次日志条目的标准形态为[timestamp] [level] [thread] [namespace] [message]其中[level]对应的就是该动作可以控制的严重级别。在 UI 中设置默认日志级别根据文档说明从自动化automation或脚本script中设置默认日志级别的步骤为进入SettingsAutomations scenes。打开一个已有的自动化或脚本如果是新建选择Create automationCreate new automation。新建自动化时需要在When触发条件区域添加一个触发器脚本不需要触发器脚本在被其他对象调用时执行。在Then do执行动作区域选择Add action。从动作列表中搜索并选择Logger: Set logger default level。设置你想要作为默认值的Level。点击Save保存。这种可视化方式无需掌握 YAMLHome Assistant 会引导你逐步完成目标选择与选项设置。在 YAML 中引用该动作在 YAML 中该动作的名称是logger.set_default_level。一个最基本的示例如下action: logger.set_default_level data: level: infoYAML 参数说明字段说明必填类型level未单独设置级别的集成所使用的默认严重级别取值为debug、info、warning、error、fatal、critical是string从源码文档看该动作在 UI 中的选项与 YAML 字段完全对应均只包含level一个字段。级别取值的含义与顺序Logger 集成的官方文档给出了完整的日志严重级别列表按从最严重到最不严重的顺序排列为criticalfatalerrorwarningwarnwarning的同义别名infodebugnotset关键行为所有低于指定级别的消息都会被日志系统忽略。也就是说把默认级别设为error后warning、info、debug级别的消息不会出现在日志中设为debug则会看到尽可能多的细节。该动作接受的前缀取值debug、info、warning、error、fatal、critical正是这个列表的子集。另外如果configuration.yaml中没有启用 logger 集成Home Assistant 的标准日志严重级别为warning。与 logger.set_level 的分工默认级别只作用于没有单独设置级别的集成。要为一个或多个特定集成单独设置级别应使用配套动作Set logger levellogger.set_level其文档位于 logger.set_level 动作文档。两者的区别可以概括为logger.set_default_level全局兜底影响所有未单独配置的集成适合整体性调节如整体调高到 debug 排查问题。logger.set_level精准定点只为指定的一个或多个日志命名空间设置级别不会让其余日志变得嘈杂适合只排查单个集成的问题。logger.set_level的 YAML 写法是日志名: 级别的映射形式例如action: logger.set_level data: homeassistant.core: fatal homeassistant.components.mqtt: warning homeassistant.components.smartthings.light: info custom_components.my_integration: debug aiohttp: error其中日志名遵循模块路径规则集成用homeassistant.components.xxx形式自定义集成用custom_components.xxx第三方 Python 库直接用库名如aiohttp。重要注意事项无论是logger.set_default_level还是logger.set_level通过动作设置的级别在重启 Home Assistant 后都会重置除非你在configuration.yaml的logger:配置中固化这些设置。持久化配置在 configuration.yaml 中固化级别动作设置的级别是临时的重启即失效。要长期生效应在configuration.yaml中启用并配置 logger 集成相关说明见 logger 集成文档。最小启用方式# Example configuration.yaml entry logger:完整配置参考如下配置键说明必填类型default默认日志级别参见日志级别列表否stringlogs各集成及其日志级别的映射表否mapfilters正则表达式日志过滤器否map一个覆盖默认级别与单个集成级别的典型配置logger: default: critical logs: # Log level for Home Assistant Core homeassistant.core: fatal # Log level for MQTT integration homeassistant.components.mqtt: warning # Log level for all python scripts homeassistant.components.python_script: warning # Individual log level for this python script homeassistant.components.python_script.my_new_script.py: debug # Log level for SmartThings lights homeassistant.components.smartthings.light: info # Log level for a custom integration custom_components.my_integration: debug # Log level for the aiohttp Python package aiohttp: error # Log level for both glances_api and glances integration homeassistant.components.glances: fatal glances_api: fatal从该示例可以看出不同命名空间可能对应同一组件但由不同的 API 记录日志例如glances_api与homeassistant.components.glances都是根级命名空间却由不同 API 输出日志。如果你想知道自己环境中有哪些可用命名空间可以查看启动时的日志homeassistant.loader会输出形如loaded component from namespace的 INFO 消息其中的命名空间就是你可以针对设置日志级别的对象。正则过滤器进一步屏蔽噪音除了设置级别logger 集成还支持按正则表达式过滤日志消息消息一旦匹配正则表达式就会被省略。例如logger: default: info filters: # Filters out all entries containing unable to connect system wide : - unable to connect # Filters out all HTTP 429 errors for my_integration custom_components.my_integration: - HTTP 429上述配置把默认级别设为info同时系统级过滤掉所有包含 unable to connect 的日志并对custom_components.my_integration命名空间过滤掉 HTTP 429 相关消息。空字符串命名空间表示系统级过滤。该过滤语法遵循 Python 的re模块规范。查看日志结果设置日志级别后可以通过以下途径查看效果UI 方式推荐进入SettingsSystemLogs选择Home Assistant Core。页面顶部的Show raw logs开关可查看未经格式化的完整日志输出也可以从该页面下载日志文件。Home Assistant OS日志不写入配置目录中的文件应使用 UI 方式或在 SSH 应用 中运行ha core logs --follow实时跟踪。Home Assistant Container日志也会写入配置目录下的home-assistant.log文件可用docker logs --follow MY_CONTAINER_ID或tail -f /config/home-assistant.log动态查看。若设置环境变量HA_DISABLE_LOG_FILE为1或true则 Home Assistant 不再写home-assistant.log此时/config/home-assistant.log不可用UI 中的Show raw logs与日志下载功能也会随之失效。实用场景小结整体排查问题临时执行logger.set_default_level并把level设为debug观察所有集成的详细日志排查结束后再执行一次恢复为info或warning。单独调试某个集成使用logger.set_level只对homeassistant.components.xxx或custom_components.xxx设置debug避免日志全局刷屏。长期生效将默认级别与个别级别写入configuration.yaml的logger:配置块配合filters正则过滤持续抑制噪音。恢复出厂行为不启用 logger 集成时系统标准日志级别为warning。牢记一点动作方式设置的默认级别在重启后会重置只有在configuration.yaml中配置的级别才会持久生效。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

嵌入式OTA防砖核心:A/B面升级与Ping-Pong回滚实战解析 2026/9/16 23:48:10

嵌入式OTA防砖核心:A/B面升级与Ping-Pong回滚实战解析

1. 项目概述:为什么“防砖”是OTA升级里最不能妥协的底线我做嵌入式固件开发十年,亲手写过二十多个不同芯片平台的OTA方案,从STM32F4到ESP32-C3,从NXP S32K144到国产GD32E507,也踩过足够多的坑——有客户产线凌晨三点打…

阅读更多 →
从共现矩阵到共现图:构建语义网络的完整流程与参数调优 2026/9/16 23:48:10

从共现矩阵到共现图:构建语义网络的完整流程与参数调优

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
DeskcommCRM:桌面端通信与CRM一体化系统设计与工程实践 2026/9/16 23:48:10

DeskcommCRM:桌面端通信与CRM一体化系统设计与工程实践

DeskcommCRM 这个项目我从名字里读出不少东西:Desk(桌面) Comm(通信) CRM(客户关系管理),三块拼在一起,本质就是一套“跑在桌面上、带着通信能力”的客户管理系统。这类产…

阅读更多 →
MySQL MVCC 核心机制剖析:从 ReadView 到隔离级别的实战指南 2026/9/16 23:48:10

MySQL MVCC 核心机制剖析:从 ReadView 到隔离级别的实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
WorkBuddy工作区跨盘迁移实战:从robocopy到零丢失的完整指南 2026/9/16 23:48:10

WorkBuddy工作区跨盘迁移实战:从robocopy到零丢失的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
DeskcommCRM:桌面通信与客户关系管理的整合实践 2026/9/16 23:45:09

DeskcommCRM:桌面通信与客户关系管理的整合实践

DeskcommCRM 这个项目,简单说就是在桌面端做客户关系管理,同时把常用的沟通渠道尽可能收拢到一个界面里。它不是那种上来就一堆概念的大厂系统,而是更贴近一线业务、能自己掌控数据、按实际流程去改造的工具。无论你是做客服团队管理&#xf…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞