Me extendida AppenderSkeleton crear una personalizada appender llamado HTTPAppender, pero algo es con la referencia en el archivo xml. Log4Net es claramente incapaz de encontrar mi costumbre appender. Hay una manera de hacer referencia a ella desde el archivo xml para que apunte a mi proyecto, o le tengo que añadir a mi costumbre appender código fuente del log4net tan es empaquetado en log4net.dll?

Me sale el error siguiente en la ventana Inmediato cuando la depuración:

log4net:ERROR XmlHierarchyConfigurator: no se Pudo crear el Appender [HTTPAppender] de tipo [HTTPAppender.HTTPAppender,HTTPAppender]. Informó de un error de la siguiente manera. 
Sistema.IO.FileNotFoundException: no se Pudo cargar el archivo o ensamblado 'HTTPAppender' o una de sus dependencias. El sistema no puede encontrar el archivo especificado. 
Nombre de archivo: 'HTTPAppender' 
en el Sistema.RuntimeTypeHandle._GetTypeByName(nombre de la Cadena, Booleano throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName) 
en el Sistema.RuntimeTypeHandle.GetTypeByName(nombre de la Cadena, Booleano throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark) 
...etc

Aquí está el log4net sección del archivo xml:

<log4net>
<appender name="HTTPAppender" type="HTTPAppender.HTTPAppender,HTTPAppender">
<evaluator type="log4net.Core.LevelEvaluator,log4net">
<threshold value="WARN"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="#%level - %message" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="HTTPAppender" />
</root>
<logger name="log4netErrorLog" >
<level value="DEBUG" />
<appender-ref ref="HTTPAppender" />
</logger>
</log4net>

InformationsquelleAutor calico-cat | 2010-01-22

6 Comentarios

  1. 6

    Si usted está usando alguna no estándar, asambleas, ponerlos en el directorio de la aplicación junto con su asamblea. Si eso no ayuda, trate de darle a su asamblea un nombre fuerte y utilizando el nombre completo en el log4net archivo de configuración. también puede intentar ponerlo en el GAC.

  2. 2

    Quiero suponer que la asamblea no puede ser encontrado. Es el nombre de la asamblea, de hecho, ‘HTTPAppender’ y está en el mismo camino que la convocatoria de la asamblea?

  3. 1

    He tenido el mismo problema. Si el appender proyecto utiliza una determinada log4net.dll, y su proyecto que va a usar su propio appender utiliza una diferente log4net.dll, no será capaz de encontrarlo.

  4. 0

    Yo también estaba atrapado en ese tema, finalmente me fijo.

    La solución es HTTPAppender clase debe tener una Defecto contructor.

    Estoy seguro de que este error «no se Pudo crear el Appender» venido es porque no tiene constructor predeterminado

  5. 0

    Me encuentro con el mismo problema recientemente. Me fijo por la adición de la asamblea de nombre después de que el nombre completo de el tipo con una coma en el tipo de atributo. Por favor, ver más abajo.

    <log4net>
        <appender name="LogFileAppender" type="TestHarness.Model.CustomRollingFileAppender, TestHarness.Model">
     </log4net>
    

Dejar respuesta

Please enter your comment!
Please enter your name here