I can trap the write in TLazLoggerFileHandle.WriteLnToFile() but it's one of those irritating situations where doing so locks up the UI (because it's a menu event handler)...
Not sure if I follow. Not sure how the logger should lock up the app, if it immediately returns to the app and lets the app continue?
If you set breakpoints there, and trap this in the debugger => start the IDE and your app with --sync
Actually, I don't know, maybe its just one of the two that needs it...
For the IDE, start it from a terminal with --sync and for the app in the debugger you can specify it in run parameters.
About gtk2:
My answers are limited to the LazLogger site. And even there, I don't have all details memorized...
As for what the LCL-WS code logs, and how it does that, I can't comment on.
Also I don't know if all those messages come from the LCL / LCL-WS code. Or if gtk itself may emit warnings under some conditions.