Pb avec Log4net

Résolu
ahikaz Messages postés 71 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 7 décembre 2007 - 7 nov. 2007 à 15:10
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 2 avril 2009 à 20:23
Salut,

J'ai ajouté le framework log4net dans ma solution mais bizarement après la configuration du fichier log.config et l'exécution de l'application je ne trouve pas un fichier de Log.

Pour le log.config, voici un petit aperçu
<log4net>
"RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\\Logs\" />
<datePattern value="yyyyMM\\yyyyMMdd.lo\g" />
<rollingStyle value="Date" />
"true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<staticLogFileName value="false" />
<filter type="log4net.Filter.LevelRangeFilter">
"true" />
<levelMin value="DEBUG" />
<levelMax value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5level %date [%file:%line] - %message%newline"/>
</layout>

<root>
<level value="DEBUG" />
refref="RollingLogFileAppender" />
</root>
</log4net>

Et dans la classe je le déclare ainsi :
privatestaticreadonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

J'espère que vous pouvez m'aider. Merci.

15 réponses

ahikaz Messages postés 71 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 7 décembre 2007
7 déc. 2007 à 12:21
Problème enfin résolu ,

J'ai remplacé dans l'assembly :

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

Par :

[assembly: log4net.Config.XmlConfigurator(Watch = true)]
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
7 nov. 2007 à 16:09
humm... j'ai du doute sur la ligne
private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

pour moi le GetLogger prend en paramètre le nom du logger déclaré dans le app.config

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
7 nov. 2007 à 16:22
Il ne faut pas mettre le chemin complet du fichier de log dans le noeud <file value="C:\\Logs\" /> qui a mettre le pattern ici.

Ceci pourrait expliquer cela ?

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
7 nov. 2007 à 16:32
voici une config qui fonctionn

  <log4net>


    [mailto:paris_bfi_compliance_list@bnpparibas.com ...]" />
      <subject value="..." />
      <smtpHost value="..." />
     
      <lossy value="false" />


      <layout type="log4net.Layout.PatternLayout" >
        <conversionPattern value="%-5p %d %5rms %c %C.%M  - line %L - [%m] %n" />
       
       
      </layout>
   


    <logger name="TOP">
      <level value="ALL" />
      blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ahikaz Messages postés 71 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 7 décembre 2007
7 nov. 2007 à 16:53
Merci pour votre aide.

Pour le moment, je n'ai pas pu encore trouvé une solution.
J'ai essayé la configuration qui fonctionne normalement mais rien n'a changé. En effet, je voulais envoyé mon log par mail en remplissant les différentes valeurs (to, from, smtp, ...) mais je n'ai pas reçu de mail.

Concernant la déclaration du log dans ma classe et bien j'ai essayé avec cette déclaration :
private static readonly ILog Log = LogManager.GetLogger("TOP");
vu que mon logger dans log.config a pour libellé "TOP".
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
7 nov. 2007 à 17:06
as-tu une erreur ?
si oui, laquelle ?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
ahikaz Messages postés 71 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 7 décembre 2007
7 nov. 2007 à 17:21
J'exécute normalement l'application et je n'ai pas d'erreur. J'ai seulement un avertissement qui m'indique : "L'élément 'log4net' n'est pas déclaré."
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
7 nov. 2007 à 20:50
et dans ton app.config tu as ajouté la "déclaration" de log4net ?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
ahikaz Messages postés 71 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 7 décembre 2007
8 nov. 2007 à 10:04
Je n'ai pas ajouté la déclaration de log4net dans l'app.config. Comment le faire ?
0
ahikaz Messages postés 71 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 7 décembre 2007
8 nov. 2007 à 10:10
Je viens de tester en rajoutant dans la partie section de mon app.config ce code :

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />

Mais malheureusement, ça marche pas encore.

 
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
8 nov. 2007 à 10:32
ajoute ceci dans la partie section :

<

sectionname="
log4net"
type="
log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"
/>
et ceci plus bas :

<

log4net file="log.config" />

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
ahikaz Messages postés 71 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 7 décembre 2007
8 nov. 2007 à 11:09
Bon voici le code d'app.config pour le moment :
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <!-- ... -->
      <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"/>
    </sectionGroup>
  </configSections>
 
      <!-- ... -->
      <log4net file="log.config"/>
 

    <!-- ... -->
</configuration>

Sinon pour le log.config voici le code :
<log4net>
 
   
   
   
   
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%-5p %d %5rms %c %C.%M  - line %L - [%m] %n" />
     
     
    </layout>
    <maximumFileSize value="1024KB" />
    <maxSizeRollBackups value="2" />
 
<root>
    <level value="DEBUG" />
   
  </root>
 
    <logger name="TOP">
      <level value="ALL" />
     
    </logger>


  </log4net>

Pour le moment, cette configuration ne fonctionne pas et je ne comprends pas pourquoi. 

C'est possible que quelqu'un essai ma configuration ?
0
ahikaz Messages postés 71 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 7 décembre 2007
9 nov. 2007 à 17:28
Je n'ai pas encore résolu mon problème. Dans ce temps, j'ai trouvé que je dois ajouter dans le main de l'application un bout de code que j'ai rajouté
staticvoid Main()
        {
            log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(@"logConfig.XML"));
// ...  
      }

Mais malheureusement, cela ne fonctionne pas encore.
0
csharp2 Messages postés 10 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 28 décembre 2008
28 déc. 2008 à 18:27
Tant mieux pour toi ahikaz,
j'ia le meme probleme que toi, sauf que moi je n'ai pas la classe XmlConfigurator (log4net.Config.XmlConfigurator) dans la dll log4net (version log4net-1.1.1) que j'ai téléchargé dans le site "appache.org" .
Est ce que tu as la meme version, sinon ou est ce que tu as téléchargé ton framework?
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 60
2 avril 2009 à 20:23
0