Я пытаюсь запустить задачу колеса Databricks и распечатать несколько журналов. Я создал утилиту ведения журнала:
# log_utils.py
import sys
import logging
from typing import Optional
def setup_logging(
name: Optional[str] = None, level: Optional[int] = None
) -> logging.Logger:
if level is None:
level = logging.INFO
logger = logging.getLogger(name)
logger.setLevel(level)
# change py4j logging level to warning
logging.getLogger("py4j.clientserver").setLevel(logging.WARNING)
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(level)
fmt = "%(levelname)s - %(asctime)s - %(message)s"
datefmt = "%Y-%m-%d %H:%M:%S"
formatter = logging.Formatter(fmt=fmt, datefmt=datefmt)
handler.setFormatter(formatter)
logger.addHandler(handler)
return logger
Эта утилита вызывается в точке входа:
# __init__.py
import logging
from log_utils import setup_logging
def entrypoint():
logger = setup_logging(level=logging.DEBUG)
logger.info("Logging an operation")
Этот пакет загружается в виде колеса и запускается в задаче. Я ожидаю, что когда я запущу свое задание, я увижу в выходных данных задачи строку «Регистрация операции». Вместо этого я не вижу ничего напечатанного.
Как просмотреть эти журналы в разделе «Вывод» задания Databricks?
Для справки я запустил следующий код:
# __init__.py
import logging
from log_utils import setup_logging
def entrypoint():
logger = setup_logging(level=logging.DEBUG)
logging.info("logging.info - foo")
logger.info("logger.info - bar")
print("print - baz")
Я бы хотел увидеть
# OUTPUT
logging.info - foo
logging.info - bar
print - baz
а я вижу
# OUTPUT
print - baz
Подробнее здесь: https://stackoverflow.com/questions/790 ... wheel-task