metaflow
metaflow copied to clipboard
logger.error does not output to stderr
I want to add more detailed error describe in stderr if a step faild , but when i use logger.error print ,running.stderr dosen't print my error log
if __name__=="__main__":
with Runner('first_flow.py', show_output=True, pylint=False).run() as running:
print(running.stderr)
here is my simple workflow
from logging import getLogger
from metaflow import FlowSpec, step, current
logger = getLogger(__name__)
class HelloFlow(FlowSpec):
def __init__(self, use_cli=True):
super().__init__(use_cli)
self.doc = None
@step
def start(self):
self.next(self.hello)
@step
def hello(self):
logger.error(f"HelloFlow failed to hello, {current.run_id}")
raise ValueError("error again")
self.next(self.end)
@step
def end(self):
pass
you might need to configure logger to emit to stderr
handler = logging.StreamHandler(sys.stderr)
logger.addHandler(handler)