Apache Airflow:控制日志记录 [Disable/Adjust 日志记录级别]

Apache Airflow: Control over logging [Disable/Adjust logging level]

我正在使用通过 pip 安装的 Airflow 1.7.1.3

我想将调度程序正在执行的工作流的日志记录限制为错误级别。除了在 settings.py 文件中设置日志文件位置之外找不到任何内容。

在线资源也让我进入了这个 google 小组讨论 here 但这里的信息也不多

知道如何控制 Airflow 中的日志记录吗?

我知道的唯一解决方案是更改 settings.py 文件中的 LOGGING_LEVEL。默认级别设置为 INFO

AIRFLOW_HOME = os.path.expanduser(conf.get('core', 'AIRFLOW_HOME'))
SQL_ALCHEMY_CONN = conf.get('core', 'SQL_ALCHEMY_CONN') 
LOGGING_LEVEL = logging.INFO
DAGS_FOLDER = os.path.expanduser(conf.get('core', 'DAGS_FOLDER'))

我尝试了以下解决方法,似乎可以在 settings.py 之外设置 LOGGING_LEVEL:

  • 更新settings.py:

    • 删除或注释行:
      LOGGING_LEVEL = logging.INFO

    • 添加行:
      LOGGING_LEVEL = os.path.expanduser(conf.get('core', 'LOGGING_LEVEL'))

  • 更新airflow.cfg配置文件:

    • [core]下添加一行: logging_level = WARN

    • 重新启动 webserverscheduler 服务

  • 使用环境变量 AIRFLOW__CORE__LOGGING_LEVEL=WARN.

详情见the official docs

日志功能及其配置将在 1.9 版中更改 commit

正如@Dimo Boyadzhiev 指出的那样,为文档添加了更多信息路径。

File - $AIRFLOW_HOME/airflow.cfg

# Logging level
logging_level = INFO
fab_logging_level = WARN

如果您正在使用 docker-compose.yaml

x-airflow-common:
  &airflow-common
  image: ${AIRFLOW_IMAGE_NAME:-apache/airflow:2.1.2}
  environment:
    &airflow-common-env
    #the other parameters 
    AIRFLOW__CORE__LOGGING_LEVEL: DEBUG #add