STDOUT logging
When I use bonobo in Airflow, sys.stdout will be StreamLogWriter and has no buffer attribute. There should be another check mondrian/init.py:23
if sys.stdout.encoding is None or sys.stdout.encoding == "ANSI_X3.4-1968": sys.stdout = codecs.getwriter("UTF-8")(sys.stdout.buffer, errors="replace") sys.stderr = codecs.getwriter("UTF-8")(sys.stderr.buffer, errors="replace")
To check if attribute buffer exist or it is normal stdout class.
sys.stdout = codecs.getwriter("UTF-8")(sys.stdout.buffer, errors="replace") AttributeError: 'StreamLogWriter' object has no attribute 'buffer'
I was not able to create PR
but that should be solution
if (sys.stdout.encoding is None or sys.stdout.encoding == "ANSI_X3.4-1968") and hasattr(sys.stdout, 'buffer'): sys.stdout = codecs.getwriter("UTF-8")(sys.stdout.buffer, errors="replace") sys.stderr = codecs.getwriter("UTF-8")(sys.stderr.buffer, errors="replace")
in mondrian/init.py:23
Hey @ehsan9891 look at my PR !18