Ich möchte Common.Logging verwenden, um Abhängigkeiten von einem bestimmten Protokollierungsframework zu entfernen, aber ich bin mir nicht sicher, wie die ILog-Schnittstelle mit dem Castle Windsor IoC verdrahtet wird Container. Gibt es eine Möglichkeit, dies zu tun? Vielen Dank!Verwenden von Common.Logging mit Asp.net MVC und Castle Windsor
Antwort
Erstellen Sie Ihre eigene Einrichtung für Common.Logging, überprüfen Sie, wie es für die vorhandenen Logging Facility in Windsor getan wird. Common.Logging hat wahrscheinlich eine Loggerfabrik, die Sie in der Einrichtung verwenden würden, um einen Logger zu erstellen.
Oder Sie könnten sich die Arbeit sparen und einfach Castle's ILogger mit der Protokollierung verwenden: Windsor wird ILogger-Instanzen in Ihre Klassen für Sie injizieren. Funktioniert mit log4net und NLog v2.
Wollen Sie wirklich beides machen? (Verwenden Sie Common.Logging UND injizieren Sie es über Castle Windsor IoC?) Mit Common.Logging kann Ihre App keine feste Abhängigkeit von einem bestimmten Logging-Framework haben (z. B. log4net, NLog, Enterprise Logging). Ich benutze Castle nicht, aber mein Verständnis ist, dass seine Holzfällerei ein ähnliches Ziel verfolgt. Sie können Castle Windsor so konfigurieren, dass ein bestimmtes Protokollierungsframework (z. B. log4net oder NLog) verwendet wird. Ihre Anwendung muss jedoch nicht darauf achten, welches Protokollierungsframework letztendlich verwendet wird.
Injizieren Common.Logging über Schloss Windsor scheint wie einen Gürtel UND Hosenträger zu tragen, um Ihre Hosen hoch zu halten! Sie würden eine Logging-Abstraktion über Castle Windsors eigene Logging-Abstraktion faktorisieren!
Meine Vermutung ist, dass Sie wirklich eine Technologie oder andere (Common.Logging oder Castle Windsor Protokollierung) verwenden möchten.
Wenn Sie wirklich injizieren wollen Common.Logging über Schloss Windsor, könnten Sie diesen Link hilfreich:
Logging with Castle.Facilities.Logging and log4net
Unter anderem beschreibt sie, wie Sie eigene Schloss Windsor Protokollierungsfunktion schreiben von Castle Windsor injiziert werden.
- 1. Castle Windsor und IPrincipal
- 2. Empfohlene Castle Windsor/NHibernate Stack?
- 3. Async MVC Aktion mit Castle Windsor
- 4. Castle Windsor und Autoregistrierung
- 5. Windsor Castle/DI und Objektmodelle
- 6. Verwenden von Castle Windsor und NHibernate auf Shared Hosting
- 7. SolrNet mit Castle Windsor und Basis-Authentifizierung
- 8. Castle Windsor Logging-Anlage
- 9. Wie injiziere ich UrlHelper in MVC mit Castle Windsor
- 10. Verwenden von Castle Windsor WcfFacility zum Erstellen von Clientendpunkten
- 11. IoC (Castle Windsor) und statische Helfer
- 12. Windsor und asp.net MVC Singleton Race-Bedingungen
- 13. Konstruktor Injektion Alternativen (Castle Windsor)
- 14. Castle Windsor Lazy Load-Dienste
- 15. Umbraco MVC mit Schloss Windsor
- 16. Was sind die Unterschiede zwischen Castle Windsor 1.0 RC3 und Castle Windsor 2.0?
- 17. Castle Windsor übergeben Konstruktor Parameter
- 18. Castle Windsor Schwach Typ Factory
- 19. Castle Windsor Generic Typed Factory
- 20. Vergleichen Castle Windsor, Einheit und StrukturKarte
- 21. Castle Windsor oder Spring.NET - Vor- und Nachteile
- 22. Registrieren Castle Windsor Logging Facility
- 23. Castle Windsor Typed Factory Unheimlichkeit
- 24. Castle Windsor Resolve zur Laufzeit
- 25. Castle Windsor seltsames Verhalten wth Property-Injektion und Factory-Methode
- 26. Inject mehrere Service-Implementierungen mit Castle Windsor
- 27. Castle Windsor - Releasing Interceptor mit transientem Lebensstil
- 28. Castle Windsor kompilieren Zeit Fehler
- 29. IoC und ASP.NET MVC Ansichten
- 30. So debuggen Castle Windsor Installation/Registrierung Ausnahme
container.Register ( Component.For() .Instanz (Common.Logging.LogManager.GetLogger ("FileAppender"))); –