Estoy escribiendo una biblioteca de clase como una abstracción para usar para iniciar sesión en cualquier aplicación, servicio, etc. que escriba. Lo estoy haciendo decentemente robusto al hacerlo muy configurable para satisfacer mis necesidades para la mayoría de los escenarios de registro de aplicaciones/servicios que encuentro.¿Aplicar un App.config a mi conjunto de DLL?
La configuración está diseñada para especificar cosas como:
- Qué nivel de registro para escribir
- de escritura a un archivo de registro para todos los niveles
- de escritura a los archivos separados por nivel
- Corte de registro (periódico, evento de aplicación, tamaño de bytes restringido)
- Expiración del archivo de registro (eliminar archivos de registro después de la antigüedad del archivo)
- Escribir texto plano o XML
- especificación de formato de registro de nombre de archivo
- Ya sea como prefijo para el nombre de archivo con fecha
- Padres nombre de aplicación
- etc, etc, etc ...
I He leído algunas otras preguntas de stackoverflow con respecto a las configuraciones para ensamblajes de DLL y causando conflicto entre el app.config para el ensamblado/aplicación de hosting. Creo que mi ensamblado solo tiene motivos para proporcionar un archivo de configuración.
¿Es este un buen escenario para esa ocasión? ¿Es quizás una mejor idea incluir mi propia configuración en mi proyecto para que mi registrador lea los archivos XML para recuperar los valores de configuración?
Eche un vistazo a las bibliotecas existentes de registro, p. apaches log4net http://logging.apache.org/log4net/index.html - este también se puede extender fácilmente. Tal vez no vale la pena escribir una biblioteca de registro completamente nueva. –
@bja, gracias por la sugerencia. Escribí una gran cantidad de código de registro para un proyecto en el que estoy trabajando y decidí utilizar la mayoría del código como base para futuras aplicaciones. Intenté trabajar con un framework de registro previamente y me sentí frustrado porque mi departamento. quiere usar .Net 4.0 y tuve problemas para obtener una lib o dos para trabajar con él. Así que terminé implementando mi propio registro liviano. Muchas gracias por la sugerencia, sin embargo, normalmente estoy de acuerdo con esa idea, pero no da una razón para no reutilizar mi propio código. – jlafay
@jlafay Sugiero que los examine de todos modos, no para reutilizar su código, sino para ver cómo implementan la configuración a través del archivo App.config, es muy común que se configure un marco de registro a través de la aplicación. Archivo de configuración, y puede seguir la misma práctica con su propio marco. :-) – BrainSlugs83