Files
notecast/ui/ui_log_handler.py
T
svlqd 7291b148e5 isort & black
- trying to fix environment issues
2025-09-14 03:07:06 +04:00

27 lines
741 B
Python

import logging
import tkinter as tk
class UILogHandler(logging.Handler):
def __init__(self, text_widget: tk.Text):
super().__init__()
self.text_widget = text_widget
def emit(self, record):
log_entry = self.format(record)
self.text_widget.insert(tk.END, log_entry + "\n")
self.text_widget.see(tk.END)
# TODO: maybe some tqdm here, not in console?
def setup_ui_logger(text_widget: tk.Text, level=logging.INFO):
logger = logging.getLogger("UI_LOGGER")
logger.setLevel(level)
logger.handlers.clear()
handler = UILogHandler(text_widget)
handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
logger.addHandler(handler)
return logger