在Airflow中,日志默认是被写入到AIRFLOW_HOME/logs文件夹中的。如果发现Airflow没有将日志写入基本日志文件夹,可以尝试以下解决方法:
确保AIRFLOW_HOME环境变量正确设置,并且指向Airflow的安装路径。
export AIRFLOW_HOME=/path/to/airflow
检查AIRFLOW_HOME/logs文件夹是否存在,如果不存在则手动创建。
mkdir -p $AIRFLOW_HOME/logs
检查Airflow的配置文件airflow.cfg中日志相关的配置项是否正确设置。
打开airflow.cfg文件,查找以下配置项:
# 日志文件夹
base_log_folder = /path/to/airflow/logs
# 日志文件名模板
filename_template = {{ ti.dag_id }}/{{ ti.task_id }}/{{ ts }}/{{ try_number }}.log
确保base_log_folder配置项指向AIRFLOW_HOME/logs文件夹。
重新启动Airflow调度器和任务执行器。
# 停止调度器和任务执行器
airflow scheduler -D
airflow worker -D
# 启动调度器和任务执行器
airflow scheduler -D
airflow worker -D
通过添加-D
参数,可以使Airflow以守护进程的方式运行,并将日志输出到终端。
检查日志文件夹的权限是否正确设置,确保Airflow有权限在日志文件夹中写入文件。
chmod -R 777 $AIRFLOW_HOME/logs
这会将日志文件夹中的所有文件和文件夹权限设置为可读、可写、可执行,以便Airflow有足够的权限写入日志文件。
通过以上步骤,可以解决Airflow没有将日志写入基本日志文件夹的问题。