Ausnahmsweise aber, halte ich h... ähem, pls Lösung für die Elegenteste.
Da ich nicht mehr editieren durfte, hier noch folgender Nachtrag:
Ob eine Exception für einen Debug passend ist, sei mal dahingestellt. Aber direkt mit der Fehlerkonsole des Browsers zu sprechen, ist schon sehr charmant.
Viel wichtiger isses, den Dump in text/plain auszugeben. Und was untentdrunter liegt:
Sämtlicher Code wo den Puffer für die Response befüllt (DB-Zugriffe, Benutzereingaben u.u.u.) liegt in einem try{}-Block. Der catch{}-Block sorgt für den o.g. Content-Type und dafür, dass der Ex-Text rausgeht, ggf. mit einem Trace. Einen Trace sollten natürlich nur die Entwickler sehen, nicht jedoch die normalen Besucher.
Ins Log gucke ich schon lange nicht mehr, das ist viel zu aufwändig. Gezielt Loggen würde ich nur noch, wenn ich einem Fehler nicht anders auf die Spur kommen könnte. Mit der beschrieben Vorgehensweise habe ich jedoch bis jetzt JEDEN Bug gefunden, vor allem auch die Bugs die von besonders schlauklugen Kollegen fabriziert wurden.
Was da z.T. an Code zum Vorschein kam, das war einfach nur grausig.