Me gustaría pasar argumentos al constructor de un appender personalizado, así que supongo que tengo que anular el mecanismo de inicialización de los Appenders. El problema es que no puedo encontrar, en los documentos, una forma de conectarlo, y me hace pensar que no es posible (o que los documentos están incompletos).¿Puedo pasar argumentos a un constructor de Appender log4net personalizado?
En cuanto a la versión 1.2.10, esto no es posible sin modificar el código fuente. La sección relevante está en Repository\Hierarchy\XmlHierarchyConfigurator.cs:L286
:
IAppender appender = (IAppender)Activator.CreateInstance(SystemInfo.GetTypeFromString(typeName, true, true));
Como se puede ver, se debe utilizar esta sobrecarga (o algo a lo largo de esa manera) que me permita alcanzar mis necesidades.
Activator.CreateInstance(Type, Object[])
Stefan, el problema es exactamente el que se escribe al final: tengo que proporcionar un objeto complejo que se crea una instancia en el tiempo de ejecución. No hay forma de proporcionarlo a través de la configuración XML. – Simone
No puede crear una instancia de esta clase en función de algunas cadenas de parámetros? –
No, debo pasar otro objeto existente. – Simone