Files
notecast/ui/ui_log_handler.py
T
svlqd 8f41105e4b WIP - first working version with UI, hooray!
- added logging in UI
- added switcher for models, batch size etc.
- added device configuration dataclass
- minor improvements in audio transcription
2025-09-09 00:49:21 +03:00

24 lines
738 B
Python

import tkinter as tk
import logging
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