Pb avec Log4net [Résolu]

ahikaz 71 Messages postés jeudi 9 décembre 2004Date d'inscription 7 décembre 2007 Dernière intervention - 7 nov. 2007 à 15:10 - Dernière réponse : cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention
- 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.
Afficher la suite 

15 réponses

Répondre au sujet
ahikaz 71 Messages postés jeudi 9 décembre 2004Date d'inscription 7 décembre 2007 Dernière intervention - 7 déc. 2007 à 12:21
+3
Utile
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)]
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ahikaz
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 7 nov. 2007 à 16:09
0
Utile
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]
Commenter la réponse de sebmafate
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 7 nov. 2007 à 16:22
0
Utile
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
---------------------
Commenter la réponse de billou_13
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 7 nov. 2007 à 16:32
0
Utile
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]
Commenter la réponse de sebmafate
ahikaz 71 Messages postés jeudi 9 décembre 2004Date d'inscription 7 décembre 2007 Dernière intervention - 7 nov. 2007 à 16:53
0
Utile
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".
Commenter la réponse de ahikaz
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 7 nov. 2007 à 17:06
0
Utile
as-tu une erreur ?
si oui, laquelle ?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
ahikaz 71 Messages postés jeudi 9 décembre 2004Date d'inscription 7 décembre 2007 Dernière intervention - 7 nov. 2007 à 17:21
0
Utile
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é."
Commenter la réponse de ahikaz
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 7 nov. 2007 à 20:50
0
Utile
et dans ton app.config tu as ajouté la "déclaration" de log4net ?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
ahikaz 71 Messages postés jeudi 9 décembre 2004Date d'inscription 7 décembre 2007 Dernière intervention - 8 nov. 2007 à 10:04
0
Utile
Je n'ai pas ajouté la déclaration de log4net dans l'app.config. Comment le faire ?
Commenter la réponse de ahikaz
ahikaz 71 Messages postés jeudi 9 décembre 2004Date d'inscription 7 décembre 2007 Dernière intervention - 8 nov. 2007 à 10:10
0
Utile
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.

 
Commenter la réponse de ahikaz
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 8 nov. 2007 à 10:32
0
Utile
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]
Commenter la réponse de sebmafate
ahikaz 71 Messages postés jeudi 9 décembre 2004Date d'inscription 7 décembre 2007 Dernière intervention - 8 nov. 2007 à 11:09
0
Utile
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 ?
Commenter la réponse de ahikaz
ahikaz 71 Messages postés jeudi 9 décembre 2004Date d'inscription 7 décembre 2007 Dernière intervention - 9 nov. 2007 à 17:28
0
Utile
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.
Commenter la réponse de ahikaz
csharp2 10 Messages postés mercredi 7 décembre 2005Date d'inscription 28 décembre 2008 Dernière intervention - 28 déc. 2008 à 18:27
0
Utile
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?
Commenter la réponse de csharp2
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 2 avril 2009 à 20:23
Commenter la réponse de cs_Bidou

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.