You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache Airflow自定义Trigger日志不显示问题求助

Apache Airflow自定义Trigger日志不显示的解决方法

核心问题定位

Trigger的日志不会输出在Sensor任务的日志中,而是输出在Airflow的triggerer进程日志里。你之前查看的ExampleSensor日志属于worker进程生成的内容,所以看不到Trigger的日志输出。

解决步骤

1. 查看正确的日志文件

  • 本地部署:默认日志路径为AIRFLOW_HOME/logs/triggerer,找到对应时间戳的日志文件直接查看
  • 命令行实时查看:执行以下命令获取triggerer进程的实时日志
    airflow logs -n triggerer
    

2. 调整日志级别配置

Airflow默认日志级别可能高于INFO,导致INFO级别的日志被过滤。需要修改airflow.cfg配置文件:

  • 全局日志级别:找到[logging]区块,设置 logging_level = INFO
  • Triggerer单独配置:在[triggerer]区块添加或修改 logging_level = INFO
    修改完成后重启triggerer服务:
# 本地部署
airflow triggerer restart
# Docker部署则重启对应容器
docker restart <airflow-triggerer-container-name>

3. 修正Trigger代码中的日志写法

建议使用Airflow官方提供的LoggingMixin,确保日志能被Airflow的日志系统正确捕获:

from airflow.triggers.base import BaseTrigger
from airflow.utils.log.logging_mixin import LoggingMixin

class ExampleTrigger(BaseTrigger, LoggingMixin):
    def __init__(self, custom_params):
        super().__init__()
        self.custom_params = custom_params

    async def run(self, triggerer, event_buffer):
        # 使用self.logger输出日志
        self.logger.info("Trigger开始执行,自定义参数: %s", self.custom_params)
        # 你的Trigger业务逻辑代码
        ...

4. 验证效果

重新运行包含自定义Sensor的DAG,再查看triggerer进程的日志,此时应该能正常看到INFO级别的日志输出。

内容的提问来源于stack exchange,提问作者Jeremy Farmer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 23:00:03