Skip to content

Commit 0fd0145

Browse files
authored
Merge pull request #4842 from ales-erjavec/output-view-log
[ENH] main: Log to main window output view
2 parents d221853 + 42a6fd9 commit 0fd0145

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

Orange/canvas/__main__.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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):

requirements-gui.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
orange-canvas-core>=0.1.12,<0.2a
1+
orange-canvas-core>=0.1.14,<0.2a
22
orange-widget-base>=4.5.0
33

44
# PyQt4/PyQt5 compatibility

0 commit comments

Comments
 (0)