我可以配置一个自定义记录器(例如,一个文件记录器),我可以在一个实体中成功使用它context.log.info
(例如)。如何在标准 Python 函数/类中使用相同的记录器?
我正在使用标准colored_console_logger
,以便我可以直接在控制台中看到正在发生的事情。这个想法是将它(或与它一起使用)与另一个(自定义)记录器交换。
可重现的例子:test_logging.py
from dagster import solid, pipeline, execute_pipeline, Field, ModeDefinition
from dagster.loggers import colored_console_logger
from random_func import random_func
@solid
def test_logs(context):
context.log.info("Hello, world!")
random_func()
@pipeline(mode_defs=[
ModeDefinition(logger_defs={"console_logger": colored_console_logger})
])
def test_pipeline():
test_logs()
if __name__ == "__main__":
execute_pipeline(test_pipeline,
run_config={
'loggers': {
'console_logger': {
'config': {
'log_level': 'DEBUG',
'name': 'console_logger',
}
}
}
})
随机函数.py
import logging
lgr = logging.getLogger('console_logger')
def random_func():
lgr.info('in random func')
print('\nhi\n')