Step 9 of the gui/app.py + gui/preview.py structural refactor. Pure copy: the Qt-aware logging.Handler that bridges the booru logger to the in-app QTextEdit log panel moves to its own module. app.py grows another shim line so any internal `LogHandler(...)` reference (the single one in BooruApp._setup_ui) keeps resolving through the module namespace. Shim removed in commit 14.