Python 是否使用自定义文件名记录?
我使用Apache Airflow 1.10.9(基于Python 是否使用自定义文件名记录?,python,python-3.x,logging,airflow,Python,Python 3.x,Logging,Airflow,我使用Apache Airflow 1.10.9(基于puckel/docker Airflowdocker图像)通过BashOperator在DAG中运行几个Python脚本。日志当前被写入/usr/local/aiffort/logs 是否可以将气流配置为 还要将日志写入另一个目录,如/home/foo/logs 日志应该只包含python脚本中的标准输出 日志应以以下目录/文件名格式存储: /home/foo/logs/[execution-date]-[dag-id]-[task-id]
puckel/docker Airflow
docker图像)通过BashOperator
在DAG中运行几个Python脚本。日志当前被写入/usr/local/aiffort/logs
是否可以将气流配置为
/home/foo/logs
/home/foo/logs/[execution-date]-[dag-id]-[task-id].log
.log
文件中。否则,我们可以使用命名约定:
/home/foo/logs/[execution-date]-[dag-id]-[task-id]-[retry-number].log
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
default_args = { ... }
dag = DAG(
'mydag',
default_args=default_args,
schedule_interval='*/10 * * * *',
)
# Log to /home/foo/logs/2020-05-12-mydag-hello_world.log
t1 = BashOperator(
task_id='hello_world',
bash_command='/path/to/env/bin/python /path/to/scripts/hello_world.py',
dag=dag,
)
# Log to /home/foo/logs/2020-05-12-mydag-hey_there.log
t2 = BashOperator(
task_id='hey_there',
bash_command='/path/to/env/bin/python /path/to/scripts/hey_there.py',
dag=dag,
)
t1 >> t2
这个链接有答案
设置文件名\u模板设置
导出气流\uuuu核心\uuuu日志\u文件名\u模板=“{{ti.dag\u id}}.LOG”
或
可以编辑airflow.cfg文件
日志\文件名\模板变量
在此处添加任何与气流相关的变量