Meine Meinung: viel zu kompliziert gedacht.
Exceptions steigen ja den Aufrufstack hoch wie Bläschen in einem Sektglass.
Nur wenn sie nicht abgefangen werden, dann werden sie ganz oben auf Applikationsebene als sichtbare Fehlermeldung angezeigt.
Lediglich Exceptions, die es bis ganz nach oben schaffen sind überhaupt von Interesse um sie zu loggen.
Man braucht einfach nur einen Eventhandler für
Application.OnException zu schreiben und voilà hat man die zentrale Stelle für das Loggen und für einen Stacktrace.
Mit der JCL kann man recht problemlos einen Stacktrace erzeugen.
Wenn man die Anwendung dann mit TD32-Debugger-Symbolen kompiliert oder eine Map-Datei bereitstellt, dann kann man die
Exception Klasse+Message und den Stacktrace in ein Logfile schreiben.