@@ -485,15 +485,20 @@ def main(argv=None):
485485 filename = os .path .join (config .log_dir (), "canvas.log" ),
486486 mode = "w"
487487 )
488- file_handler .setFormatter (
489- logging .Formatter ("%(asctime)s:%(levelname)s:%(name)s: %(message)s" )
490- )
488+ formatter = logging .Formatter ("%(asctime)s:%(levelname)s:%(name)s: %(message)s" )
489+ file_handler .setFormatter (formatter )
491490 file_handler .setLevel (level )
492491
492+ stream = TextStream ()
493+ stream_handler = logging .StreamHandler (stream )
494+ stream_handler .setFormatter (formatter )
495+ stream_handler .setLevel (level )
496+
493497 for namespace in ["orangecanvas" , "orangewidget" , "Orange" ]:
494498 logger = logging .getLogger (namespace )
495499 logger .setLevel (level )
496500 logger .addHandler (file_handler )
501+ logger .addHandler (stream_handler )
497502
498503 # intercept any QFileOpenEvent requests until the main window is
499504 # fully initialized.
@@ -562,6 +567,7 @@ def onrequest(url):
562567 canvas_window = MainWindow ()
563568 canvas_window .setAttribute (Qt .WA_DeleteOnClose )
564569 canvas_window .setWindowIcon (config .application_icon ())
570+ canvas_window .connect_output_stream (stream )
565571
566572 # initialize notification server, set to initial canvas
567573 notif_server = NotificationServer ()
@@ -672,6 +678,7 @@ def show_message(message):
672678 try :
673679 with closing (stdout ),\
674680 closing (stderr ),\
681+ closing (stream ), \
675682 patch ('sys.excepthook' , excepthook ),\
676683 patch ('sys.stderr' , stderr ),\
677684 patch ('sys.stdout' , stdout ):
0 commit comments