升级到Airflow 1.10之后,我不再能够通过Web服务器读取日志。但是,Airflow可以正确生成日志并将其保存到磁盘。
从任务实例的详细信息中,我可以看到列出的log_filepath
是错误的。
根据任务实例的详细信息,log_filepath
例如:/home/ubuntu/airflow/logs/frontend_pricedata/recommendations/2018-09-11T15:10:47.296212+00:00.log
但是正确的文件路径是/home/ubuntu/airflow/logs/frontend_pricedata/recommendations/2018-09-11T15:10:47/1.log
有没有办法修改log_filepath?在配置中,我只能找到:
log_filename_template = {{ ti.dag_id }}/{{ ti.task_id }}/{{ execution_date.strftime("%%Y-%%m-%%dT%%H:%%M") }}/{{ try_number }}.log
似乎是正确的。
答案 0 :(得分:2)
是的,有一种方法可以修改配置键为base_log_folder
的log_filepath。
但是您的文件路径正确,请检查配置文件并将task_log_reader
设置为task
。在Airflow 1.9中,该值为file.task
。
例如:
# Log format
log_format = [%%(asctime)s] {%%(filename)s:%%(lineno)d} %%(levelname)s - %%(message)s
simple_log_format = %%(asctime)s %%(levelname)s - %%(message)s
log_filename_template = {{ ti.dag_id }}/{{ ti.task_id }}/{{ ts }}/{{ try_number }}.log
log_processor_filename_template = {{ filename }}.log
task_log_reader = task
有一个Pull Request来验证配置。
更多详细信息Airflow Writing Logs