在 Airflow 中写入日志的一种方法是从 PythonOperator 返回一个字符串,如第 44 行此处。
还有其他方法可以让我写入气流日志文件吗?我发现打印语句没有保存到日志中。
您可以将日志记录模块导入您的代码并以这种方式写入日志
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")
您可以使用一个记录器混合类:
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