Me suelen incluir la siguiente información en cada clase:estrategia de log4net en los registradores con nombre?
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
y utilizar el miembro estático dentro de cada clase para conectarse a diferentes niveles (información, depuración, etc.)
vi que en algún lugar y han sido Usarlo de forma un tanto descuidada, razonando que la configuración es lo suficientemente flexible como para ayudarme a filtrar por espacio de nombres y registrar tipos individuales si quisiera en la resolución de problemas de producción y lo que no.
Pero rara vez tuve que usar ese "nivel" de registro fino. Entonces, me gustaría ver lo que otros están usando. ¿Utiliza lo anterior, ya que tengo la sensación de que muchos están usando exactamente eso, o crea registradores con nombre como "depuración", "rastreo", "error", "módulo A", etc. y comparte el registrador entre diferentes tipos ¿Asambleas?
Excelente. Gracias. – Chasler
¿Has ejecutado un generador de perfiles en esto? La velocidad de ejecución de esta bestia es enorme. E incluso si quisiera cambiar el nivel de registro de DEPURACIÓN en producción, incurrirá en el mismo costo. De alguna manera, puedo ver el punto si realmente necesita el nombre del método en el registrador, pero nuevamente, cuando, por ejemplo, se producen excepciones, usted obtendría ese nombre en la pila de la excepción de todos modos ... –
Bastante seguro de que esto es reemplazado por el nuevo atributo CallerName - vea http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices. callermembernameattribute% 28v = vs.110% 29.aspx – keithl8041