Bonjour,
Dans mon appliaction j'utilise log4net, et dans mon fichier de config log4net on me signale que la premiere balise de mon fichier de configuration n'est pas declaré.
Que dois je faire ?Code:<log4net>
Version imprimable
Bonjour,
Dans mon appliaction j'utilise log4net, et dans mon fichier de config log4net on me signale que la premiere balise de mon fichier de configuration n'est pas declaré.
Que dois je faire ?Code:<log4net>
T'as essayé en ajoutant <?xml ... ?>
Code:
1
2
3
4
5 <?xml version="1.0" encoding="utf-8" ?> <log4net> .... </log4net>
+ 1 pour la balise <xml...>, peut être aussi avec <configuration> juste en dessous
voila des exemples
Oui c'est mis
Code:
1
2
3
4
5 <?xml version="1.0" encoding="utf-8"?> <log4net> <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
Je n'utilise pas directement log4net, mais je passe par une dll qui en encapsule log4net, et je déclare mon fichier de configuration de la manière suivante
Code:
1
2
3
4
5
6
7
8
9
10
11 [assembly: log4net.Config.XmlConfigurator(ConfigFileExtension="log4net", Watch=true)] namespace Logger { internal class CLog : ILog { ..... } }
Oui mais tu as bien un fichier de config pour configurer des appenders
Oui j'ai un fichier de configuration mais ce n'est pas le app.config.
Le nom de mon fichier de configuration est "logger.dll.log4net", il est basé sur le nom de la dll (logger.dll) qui encapsule log4net
Si tu utilises App.config, assure toi que tu as:
Code:
1
2
3 <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821"/> </configSections>
j'aussi ca.
Est-ce que tu peux faire voir ton app.config et ton fichier de log4net ?
du coup j'ai tout mis ds le app.config mais on me dis queDans les 2 cas j'ai des petits warningsCitation:
Could not find schema information for the attribute 'debug'.
Il fallait mettre balise <configuration> avant <log4net>
On peut raisonnablement penser qu'en un an il avait trouvé la réponse.
J'ai très certainement le même problème, mais je n'ai toujours pas trouvé d'où ça venait.
J'utilise et test log4net pour mon application.
tout marche, les message d'erreur s'affiche sur la console. Cependant, j'ai des warnings en ce qui concerne les balise log4net dans mon fichier App.config tel que :
j'ai trouvé des pistes en ce qui concerne une ligne à rajouter dans le AssemblyInfo.cs ==> [assembly: log4net.Config.XmlConfigurator(Watch = true)]Citation:
Message 1 Impossible de trouver les informations de schéma pour l'élément 'log4net'.
Message 2 Impossible de trouver les informations de schéma pour l'élément 'appender'.
Message 3 Impossible de trouver des informations de schéma pour l'attribut 'name'.
...
...
Message 13 Impossible de trouver des informations de schéma pour l'attribut 'ref'.
mais ça ne marche pas. J'ai aussi trouvé une autre ligne qui est sensiblement la même à l'exception près qu'il faille ajouter un nom de fichier .xml recensant tous les attributs présentés dans les warnings.
J'ai testé, ça ne marche pas non plus. Mais après, est-ce que j'ai bien entrer les balises comme il fallait, je en sais pas, je n'ai pas trouvé clairement comment les mettre.
voila mon App.config pour ceux que ça intéresserait.
Need help please !!!Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net" /> </configSections> <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" > <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" /> </layout> </appender> <root> <level value="INFO" /> <appender-ref ref="ConsoleAppender" /> </root> </log4net> </configuration>
C'est tout de même assez incroyable parceque mon programme et le système de log marche parfaitement. Il y a juste ces Messages, qui ne sont, finalement, même pas des warning :/
Ca fait quand même tache d'avoir de tel message sur son application qui marche ;]
Tu peux ignorer ces messages. Ils sont juste là parce que log4net n'a pas de xsd, c'est à dire de fichier xml détaillant la syntaxe de la balise <log4net> et ses enfants.
Si tu tiens vraiment à supprimer ces messages, cherche des xsd pour log4net sur le net. Plusieurs bonnes âmes en ont écrit et mis en ligne.
Bonjour Guulh, merci pour votre aide.
Je viens de télécharger le log4net.xsd pour VS2010 (que j'utilise), je l'ai inclus dans le projet via : projet\ajouter un élément existant\log4net.xsd
Mais, j'ai toujours ces messages :/
Néanmoins, dans mon assembly.cs je n'ai pas de ligne telle que :
car avec la compilation ça me met :Code:[assembly: log4net.Config.XmlConfigurator(Watch = true)]
j'utilise le log4net.dll de la version 1.0 sscli,Citation:
log4net:WARN XmlConfigurationAttribute: Unable to watch config file not supported on SSCLI
dans le package log4net que j'ai téléchargé, c'est la seule qui me permet de compiler sans erreur (excepté les messages et l'erreur ci dessus)
Il ne faut pas :) cf la doc de log4net. Si ton appli utilise le framework "normal", ce qui est probabelement le cas si tu développes une appli cliente ou en ASP.Net, utilise le build .net20 (je ne sais pas le nom exact) de log4net. Et si ça te met des erreurs, essaie de les corriger.
Quel est le type de ton projet ? Web ? Appli win forms ? Appli console ? Appli mobile ? Autre ?
C'est une appli Console en C# développée avec VS Express 2010 utilisant le Framework 4.0.
voila un lien sur lequel j'ai aussi trouvé pas mal d'informations :http://www.developpez.net/forums/d97...a/#post5462546
Et les message proviendrait probablement du fait que j'utilise un dll pas vraiment adapté (sscli\1.0\release).
Cependant je ne peux pas prendre celui conseillé car je ne travail pas en Framework 2.0 tout simplement parce qu'il n'est pas installé sur mon poste.
Je suppose donc que si je travaillais avec le 2.0 à la place du 4.0, je pourrais changer de dll et donc faire disparaitre ces messages :)
Qu'en pensez vous ?
Que tu n'es pas le premier à avoir eu ce souci, et qu'il a déjà été résolu, comme ce site le montre :)
Le souci, c'est que Microsoft a rajouté ce qui s'appelle le "client profile", un sous ensemble du framework, afin de diminuer le poids de ce qui doit être installé sur le poste client. Et cela n'inclut pas l'assembly System.Web.dll. Et log4net référence directement System.Web.
La,solution présentée par le lien ci-dessus, supprime le code qui se sert de System.Web.
D'autres liens :
http://stackoverflow.com/questions/1...et-and-net-4-0
http://stackoverflow.com/questions/1...t-with-net-4-0
OK merci bien !
Bonne continuation :]