Estoy usando log4net para registrar el progreso de mi aplicación web, usando Log4PostSharp para AOP-injectify todos los métodos. Esto tiene el efecto deseado de registrar (casi) todo y está bien.Filtrar log4net en el nombre del método - no puedo conseguirlo
Ahora tengo el requisito de registrar JUST los métodos Page_Load en un archivo/consola. Obviamente puedo hamster la clase log4postsharp para hacer eso, pero luego estaría perdiendo todo el otro registro.
He estado buscando filtros en log4net, comenzando con el filtro StringMatch, pero eso solo mira el mensaje que se está registrando, y estoy buscando el nombre del método. Esto me puso en el PropertyFilter, pero todavía sin alegría. Mi fragmento log4net.config es así:
<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"/>
Como se puede ver, estoy tratando de llave en la MethodName del registro de eventos a través de locationInfo, pero todavía estoy consiguiendo todo conectado. EDITAR: Como se mencionó en los comentarios, ahora he incluido el DenyAllFilter que agregué después de RTFM ;-)
¿Alguien puede ayudar?
Gracias,
Mike K.
NB: He añadido ahora después del filtro para dejar todo lo demás que se registra una vez que consigo el filtro de nombre de método que trabaja –
¿Ha agregado DenyAllFilter? ¿Obtienes todo o nada registrado entonces? debe actualizar su pregunta para reflejar su progreso. –