2010-09-03 6 views
7

In meiner Anwendung haben wir einen Trace-Logger. Wir haben Protokollanweisungen am Anfang und am Ende der meisten wichtigen Methoden hinzugefügt, die den Methodennamen und die Parameterwerte nachzeichnen. Jetzt trüben diese Trace-Anweisungen den Code und es ist ein bisschen mühsam, sie zu lesen.Aspektorientierte Protokollierung mit Unity T4 sonstiges

Ich überlege, wie ich diesen Aspekt des Codes von meiner Geschäftslogik trennen kann.

Heute habe ich über Unity Interception Framework gelesen. Ich überlegte, ob es möglich ist, meine Methodenaufrufe mit einem generischen Logger abzufangen und den Methodennamen und die Parameterwerte zu protokollieren. Ich bin mir nicht sicher, ob es möglich ist, Methodenparameter durch Reflexion zu lesen. Kann Unity so verwendet werden?

Eine andere Idee war, die T4-Codegenerierungs-Engine zu starten, um Protokollanweisungen am Anfang und am Ende aller Methoden zu erzeugen, die mit einem bestimmten Attribut versehen sind. Da ich sehr wenig über T4 weiß, weiß jemand, ob dies erreicht werden kann?

Gibt es andere Möglichkeiten, den Protokollierungscode von meiner Geschäftslogik zu trennen?

Cheers, Unmesh

Antwort

1

Ja, können Sie Unity verwenden, aber Sie sollten Benutzer Unity "Interception Erweiterung". nice article here