2016-10-19 45 views
4

如何將自己的日誌添加到自動生成的Apache Airflow日誌中?任何打印語句都不會在那裏登錄,所以我想知道如何添加我的日誌,以便它顯示在UI上?將日誌添加到氣流日誌中

回答

4

我想你可以通過使用記錄模塊並將配置信任給Airflow來解決此問題。

喜歡的東西:

import ... 

dag = ... 

def print_params_fn(**kwargs): 
    import logging 
    logging.info(kwargs) 
    return None 

print_params = PythonOperator(task_id="print_params", 
           python_callable=print_params_fn, 
           provide_context=True, 
           dag=dag) 
3

如果您看看PythonOperator:https://github.com/apache/incubator-airflow/blob/master/airflow/operators/python_operator.py#L80-L81,看起來好像沒有辦法將可調用Python的STDOUT/STDERR記錄到氣流日誌中。

但是,如果您查看BashOperator:https://github.com/apache/incubator-airflow/blob/master/airflow/operators/bash_operator.py#L79-L94,則會從此處記錄STDOUT/STDERR以及氣流日誌。所以,如果日誌對你很重要,我建議在一個單獨的文件中添加python代碼並使用BashOperator調用它。