写入气流日志

Writing to Airflow Logs

在 Airflow 中写入日志的一种方法是 return 来自 PythonOperator 的字符串,例如第 44 行 here

还有其他方法可以让我写入气流日志文件吗?我发现打印语句没有保存到日志中。

您可以将日志记录模块导入您的代码并以这种方式写入日志

import logging

logging.info('Hello')

这里还有一些选项

import logging    

logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
logging.error('This is an error message')
logging.critical('This is a critical message')

您可能会使用气流记录器

import logging


logger = logging.getLogger("airflow.task")
logger.error("Your custom error")

有一个记录器 mixin class 你可以使用:

https://github.com/apache/airflow/blob/main/airflow/utils/log/logging_mixin.py

from airflow.utils.log.logging_mixin import LoggingMixin

LoggingMixin().log.info("Hello")

然后在气流日志中你会看到:

[2021-07-07 15:55:42,370] {{logging_mixin.py:112}} INFO - Hello