如何在Airflow 2.5.2(Docker部署)中设置airflow-scheduler日志级别为INFO?
解决Airflow 2.5.2调度器DEBUG日志过多的问题
针对你遇到的调度器输出大量DEBUG日志的情况,试试下面几个方法:
使用正确的环境变量
Airflow 2.x中,单独控制scheduler模块日志级别的正确环境变量是AIRFLOW__LOGGING__LOGGER_SCHEDULER_LEVEL=INFO,你之前尝试的变量都不是针对scheduler logger的专属配置,替换成这个变量再启动容器试试。挂载自定义日志配置文件
如果环境变量依然不生效,可能是镜像默认配置的优先级更高。可以自定义logging_config.py文件,指定scheduler的日志级别:LOGGING_CONFIG = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'airflow': { 'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s', }, }, 'handlers': { 'console': { 'class': 'logging.StreamHandler', 'formatter': 'airflow', 'stream': 'ext://sys.stdout', }, }, 'loggers': { 'airflow.scheduler': { 'level': 'INFO', 'handlers': ['console'], 'propagate': False, }, # 保留其他默认loggers配置 'airflow': { 'level': 'INFO', 'handlers': ['console'], 'propagate': False, }, } }启动容器时把这个文件挂载到Airflow的配置目录:
docker run -v ./logging_config.py:/opt/airflow/config/logging_config.py \ -e AIRFLOW__CORE__LOAD_EXAMPLES=False \ # 其他必要环境变量 apache/airflow:2.5.2 scheduler如果用docker-compose,就在scheduler服务的
volumes里添加这条挂载配置。检查启动命令的额外参数
确认Docker启动命令或docker-compose.yaml里,scheduler服务的command没有强制指定DEBUG级别的启动参数,比如airflow scheduler -v(-v是verbose模式,会输出DEBUG日志),如果有就去掉。
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

