log4net: Erreur lors du chargement de la coutume appender
J'ai étendu AppenderSkeleton pour créer un appender appelé HTTPAppender, mais quelque chose qui est à la référence dans le fichier xml. Log4Net est manifestement incapable de trouver mon custom appender. Est-il un moyen de référence à partir du fichier xml à point pour mon projet, ou devrais-je ajouter à mon habitude appender est le code source de log4net est si il est emballé dans log4net.dll?
J'obtiens l'erreur suivante dans la fenêtre exécution lors du débogage:
log4net:ERREUR XmlHierarchyConfigurator: impossible de créer Appender [HTTPAppender] de type [HTTPAppender.HTTPAppender,HTTPAppender]. A signalé l'erreur suivante. Système.IO.FileNotFoundException: impossible de charger le fichier ou l'assembly 'HTTPAppender' ou une de ses dépendances. Le système ne peut pas trouver le fichier spécifié. Nom du fichier: 'HTTPAppender' au Système.Propriétaire du._GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName) au Système.Propriétaire du.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark) ...etc
Voici la log4net section du fichier 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>
OriginalL'auteur calico-cat | 2010-01-22
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez un non-standard assemblées, les mettre dans le répertoire de l'application avec votre assemblée. Si cela ne fonctionne pas, essayez de donner à votre assemblée un nom fort et en utilisant le nom complet dans la log4net fichier de configuration. vous pouvez aussi essayer de le mettre dans le GAC.
OriginalL'auteur Konrad
je pense que cela va vous aider à
http://weblogs.asp.net/tgraham/archive/2007/05/02/loading-the-assembly-for-a-custom-log4net-appender.aspx
OriginalL'auteur nanek
Je suppose que l'assemblée ne peut pas être trouvé. Est le nom de l'assembly en effet, "HTTPAppender" et est-il le même chemin que la convocation de l'assemblée?
OriginalL'auteur Stefan Egli
J'ai eu le même problème. Si votre personnalisé appender projet utilise un certain
log4net.dll
, et votre projet qui va utiliser votre personnalisé appender utilise un autrelog4net.dll
, il ne sera pas capable de le trouver.OriginalL'auteur Bruno P
J'ai aussi été coincé dans cette question, enfin je l'ai corrigé.
La solution est HTTPAppender classe devrait avoir un Défaut constructeur.
J'ai confiance que cette erreur "n'a pas Pu créer Appender" est venu parce que n'a pas de constructeur par défaut
OriginalL'auteur Shobhit Walia