Jak mogę logować wewnętrzne dzienniki Castle Windsor? Na przykład, jeśli źle skonfigurowałem zamek w sposób, który nie może załadować ciągu połączenia, chcę wiedzieć, czy mogę zalogować błędy z zamku, gdy próbuje rozwiązać ciąg połączenia. Używam Log4Net Facility i mogę wyświetlać tylko dzienniki aplikacji, a nie dzienniki Windsor.Wewnętrzne dzienniki dla Castle Windsor
Odpowiedz
Twoje połączenie z WindsorContainer.Resolve <> spowoduje zgłoszenie wyjątku w przypadku niepowodzenia rezolucji. Należy zarejestrować ten wyjątek w kodzie "ładującym", który jest odpowiedzialny za utworzenie kontenera i rozwiązanie potrzebnego komponentu (ów). Komunikat o wyjątku zazwyczaj mówi dokładnie, co jest nie tak z rozdzierającymi szczegółami.
Według mojej wiedzy, Windsor nie robi żadnego "wewnętrznego" logowania przez log4net (być może jeden z autorów może to poprawić/potwierdzić). Jeśli chcesz rejestrować zdarzenia "wewnętrzne", możesz podłączyć się do obsługi zdarzeń w jądrze (dostępnym przez WindsorContainer.Kernel). Na przykład istnieją zdarzenia ComponentRegistered i DependencyResolving, które umożliwiają wykonywanie niestandardowych akcji odpowiednio dla rejestracji i rozdzielczości.