Ich benutze log4net, um den Fortschritt meiner Webanwendung zu protokollieren, indem ich Log4PostSharp zu AOP-injectify alle Methoden verwende. Dies hat den gewünschten Effekt, dass (fast) alles protokolliert wird und in Ordnung ist.Log4net auf Methodenname filtern - kann es nicht ganz bekommen
Ich habe jetzt eine Anforderung, JUST Page_Load Methoden zu einer Datei/Konsole zu protokollieren. Ich kann natürlich die log4postsharp-Klasse dazu bringen, das zu tun, aber dann würde ich die gesamte andere Protokollierung verlieren.
Ich habe Filter in log4net, beginnend mit dem StringMatch-Filter, aber das schaut nur auf die Nachricht wird protokolliert, und ich bin nach dem Namen der Methode. Das brachte mich auf den PropertyFilter, aber immer noch ohne Freude. Mein log4net.config Schnipsel ist also:
<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"/>
Wie Sie sehen können, ich versuche, über LocationInfo in die Method des Protokolliervorgangs einzugeben, aber ich bin immer noch alles angemeldet zu werden. EDIT: Wie in den Kommentaren erwähnt, habe ich jetzt den DenyAllFilter, den ich nach RTFM hinzugefügt habe ;-)
Kann jemand helfen?
Danke,
Mike K.
NB: Ich habe jetzt hinzugefügt nach dem Filter, alles zu stoppen sonst protokolliert sobald ich Der Methodenname funktioniert –
Haben Sie DenyAllFilter hinzugefügt? Hast du dann alles oder nichts eingeloggt? Sie sollten Ihre Frage aktualisieren, um Ihren Fortschritt zu reflektieren. –