2010-05-04 9 views
3

Je le journal suivant du journal de débogage log4net:Comment puis-je savoir d'où log4net pense qu'il récupère son fichier de configuration?

log4net: DefaultRepositorySelector: dépôt [log4net-default-dépôt] existe déjà, en utilisant le type de dépôt [log4net.Repository.Hierarchy.Hierarchy] log4net: XmlConfigurator: configuration référentiel [log4net-default-repository] en utilisant le fichier [log4net.config] en recherchant les mises à jour du fichier log4net: XmlConfigurator: configuration du référentiel [log4net-default-repository] en utilisant le fichier [log4net.config] log4net: XmlConfigurator: configuration du référentiel [log4net- default-repository] utilisant le flux log4net: ERREUR XmlConfigurator: Erreur lors du chargement de la configuration XML System.Xml.XmlException: '' est un jeton inattendu. Le jeton attendu est '>'. Ligne 7, position 184. à System.Xml.XmlTextReaderImpl.Throw (Exception e) à System.Xml.XmlTextReaderImpl.Throw (String res, String [] args) à System.Xml.XmlTextReaderImpl.ThrowUnexpectedToken (String expectedToken1, chaîne expectedToken2) à System.Xml.XmlTextReaderImpl.ThrowUnexpectedToken (Int32 pos, string expectedToken1, string expectedToken2) à System.Xml.XmlTextReaderImpl.ParseAttributes() à System.Xml.XmlTextReaderImpl.ParseElement() à System.XML. XmlTextReaderImpl.ParseElementContent() à System.Xml.XmlTextReaderImpl.Read() à System.Xml.XmlTextReader.Read() à System.Xml.XmlValidatingReaderImpl.Read() à System.Xml.XmlValidatingRead er.Read() à System.Xml.XmlLoader.LoadNode (Boolean skipOverWhitespace) à System.Xml.XmlLoader.LoadDocSequence (XmlDocument parentDoc) à System.Xml.XmlLoader.Load (XmlDocument doc, lecteur XmlReader, Boolean PreserveWhitespace) à System.Xml.XmlDocument.Load (lecteur XmlReader) à log4net.Config.XmlConfigurator.Configure (référentiel ILoggerRepository, Stream configStream)

Le seul problème est, je ne sais pas où il pense qu'il devient ce log4net. fichier de configuration, puisque dans mon AssemblyInfo.cs je l'ai défini pour être:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "api4net.config", Watch = true)] 

Existe-t-il un moyen facile de déterminer où log4net est en train de charger ce mystique log4net.config qui a quelques erreurs xml?

+0

Si c'est un application Web, il s'attend à ce que ce fichier soit dans la racine du Web. – dotjoe

+0

dotjoe, vous avez raison. On dirait qu'il vérifie mon web.config et trouve une erreur d'analyse XML en quelque sorte. Ma configuration était tout faux, et je n'ai pas eu un fichier global.asax pour configurer le démarrage. La réponse a été trouvée sur le lien ci-dessous. Merci pour le conseil. http://stackoverflow.com/questions/2446556/comment-configurer-log4net-pour-wcf – Mike

+1

cool. Pour référence future, je trouve la méthode 'ConfigureAndWatch' beaucoup plus agréable que l'ajout de crap à AssemblyInfo.cs. Ajoutez simplement ceci à Application_Start ... 'log4net.Config.XmlConfigurator.ConfigureAndWatch (nouveau FileInfo (Server.MapPath (" ~/log4net.config ")))' – dotjoe

Répondre

0

Je pensais qu'on devrait configurer les appenders dans le app.config ou dans le web.config. mais je suis newbie log4net. phil Haack a écrit:

Si vous utilisez un fichier de configuration séparé, d'une façon rapide et facile (et sale) d'avoir votre application trouve qu'il est de placer le fichier de configuration dans le Webroot ...