Ich bin daran interessiert, in welchem Stadium Ihrer Entwicklung fügen Sie Logging und/oder Tracing zu Ihren Anwendungen hinzu?
Ich arbeite mit einem .Net-Stack und log4net (über commons.logging). In der Regel unter einem TDD-Ansatz für die Entwicklung, obwohl zugegebenermaßen nicht 100%, manchmal Im wissen, ohne Testabdeckung zu spike out. Meine Anwendung sitzen alle Server-side, z.B. Web-Services, Windows-Service, die Nachrichten aus einem Bus, asp.net mvc Business-Admin-Anwendungen verbrauchen. etc.
Ich fand mich schmücken Methoden in meiner applicatiosn Dienste mit beschreibenden logger.INFO "Getting Kuchen aus Repository" . einige Arbeit .. "Got 5 Kuchen aus Repository. ", und dann eine unbehandelte expcetion handler für die app doamin zu logger.FATAL für unerwartete Ausnahmen, die Blase auf.
In der Regel gehe ich jedoch zurück und wende sie eher gegen Ende der Entwicklung als zu Beginn der Entwicklung an, und ich habe vielleicht nur ein oder zwei Dutzend davon. Ich stelle fest, dass ich selten Klassen auf niedrigerer Ebene, wie z. B. die Implementierung von ICakeRepository, mit Logger-Zeug dekoriere, da es sinnlos erscheint.
Für die Verfolgung, die über die Konfiguration eingeschaltet ist, denke ich an das Abfangen von Methodenaufrufen und Instanzerstellung mit dem IOC-Framework, und dies sollte kümmern sich um vor Ort troublehsooting anstatt schwere Trace-Population.