У меня есть оператор с именем MsSqlToS3Operator
, который делает то, что вы думаете.
Он регистрирует некоторые вещи, используя self.log.info
.
Мне нравится тестировать вещи в реплее в интерактивном режиме Я понял, что могу создать экземпляр задачи и запустить ее так:
# mssql_to_s3 is a task defined, using this operator, above
ti = TaskInstance(mssql_to_s3, execution_date=pendulum.datetime(2019, 4, 23, 3, 5, 6, 3000))
ti.render_templates()
print(ti.task.sql)
ti.task.execute(None)
Работает нормально. Однако при использовании self.log.info
в операторе запись в журнал не выводится на стандартный вывод.
Кто-нибудь знает, что я могу сделать, чтобы распечатать журнал?
Единственный вывод, который я вижу, это строка [2019-04-23 12:36:58,980] {base_hook.py:83} INFO - Using connection to: id: mssql_default...
Мой оператор подклассов BaseOperator и запускает его метод init:
class MsSqlToS3Operator(BaseOperator):
template_fields = ('sql', 'key')
@apply_defaults
def __init__(self, sql, bucket, key, mssql_conn_id='mssql_default', s3_conn_id='aws_default', s3_replace=True,
**kwargs):
self.sql = sql
self.bucket = bucket
self.key = key
self.mssql_conn_id = mssql_conn_id
self.s3_conn_id = s3_conn_id
self.s3_replace = s3_replace
super(MsSqlToS3Operator, self).__init__(**kwargs)