Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否使用自定义文件名记录?_Python_Python 3.x_Logging_Airflow - Fatal编程技术网

Python 是否使用自定义文件名记录?

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]

我使用Apache Airflow 1.10.9(基于
puckel/docker Airflow
docker图像)通过
BashOperator
在DAG中运行几个Python脚本。日志当前被写入
/usr/local/aiffort/logs

是否可以将气流配置为

  • 还要将日志写入另一个目录,如
    /home/foo/logs
  • 日志应该只包含python脚本中的标准输出
  • 日志应以以下目录/文件名格式存储:

    /home/foo/logs/[execution-date]-[dag-id]-[task-id].log
    
  • 如果可能,应将重试附加到相同的
    .log
    文件中。否则,我们可以使用命名约定:

    /home/foo/logs/[execution-date]-[dag-id]-[task-id]-[retry-number].log
    
  • 谢谢大家

    示例DAG

    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文件 日志\文件名\模板变量

    在此处添加任何与气流相关的变量