Używam log4net do rejestrowania postępów mojej aplikacji internetowej, za pomocą Log4PostSharp do AOP-wstrzyknięcia wszystkich metod. Ma to pożądany efekt logowania (prawie) wszystkiego i jest w porządku.Filtrowanie log4net na nazwie metody - nie mogę tego uzyskać
Mam teraz wymóg rejestrowania metod JUST Page_Load w pliku/konsoli. Mogę oczywiście ściskać klasę log4postsharp, ale wtedy tracę wszystkie inne rejestracje.
Szukałem filtrów w log4net, zaczynając od filtru StringMatch, ale to tylko przegląda rejestrowany komunikat i szukam nazwy metody. To postawiło mnie na PropertyFilter, ale wciąż bez radości. Moja log4net.config fragment jest tak:
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<filter type="log4net.Filter.PropertyFilter">
<key value="LocationInfo.MethodName"/>
<stringToMatch value="Page_Load"/>
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
<file value="d:\\xxxx\\yyyyy\\zzzzLog"/>
Jak widać, staram się klucz do MethodName zdarzenia rejestrowania poprzez LocationInfo, ale ja wciąż się wszystko rejestrowane. EDYCJA: Jak wspomniano w komentarzach, mam teraz włączone DenyAllFilter, które dodałem po RTFM ;-)
Czy ktoś może pomóc?
Dziękuję
Mike K.
NB: Mam teraz dodaje po filtr, aby zatrzymać wszystko inne jest zalogowany raz otrzymuję filtr methodname working –
Dodałeś DenyAllFilter? Czy otrzymujesz wtedy wszystko lub nic? powinieneś zaktualizować swoje pytanie, aby odzwierciedlić swoje postępy. –