IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

config log4net pour un site web?


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    415
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 415
    Points : 138
    Points
    138
    Par défaut config log4net pour un site web?
    Bonjour,
    Je veux utiliser log4net avec mon site web en asp.net / MVC4 / razor.
    Je veux qu'un nouveau fichier se créé dès que nécessaire, un maximum par jour, et avec le nom "SiteWeb_" suivi de la date du jour.
    J'ai donc défini ceci dans le web.config:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    ...
    <configSections>
        <sectionGroup name="devExpress">
    ...
        </sectionGroup>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, Log4net" requirePermission="false"/>
      </configSections>
    <log4net>
        <root>
          <level value="DEBUG"/>
          <appender-ref ref="RollingLogFileAppender"/>
        </root>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <file type="log4net.Util.PatternString" value="logs\\SiteWeb_%date{yyyyMMdd}.log" />
          <param name="appendToFile" value="true"/>
          <param name="rollingStyle" value="Date" />
          <param name="datePattern" value="yyyyMMdd" />
          <layout type="log4net.Layout.PatternLayout">
            <param name="conversionPattern" value="%date - %level - thread(%thread) : %message%newline"/>
          </layout>
        </appender>
      </log4net>
    et ceci dans Global.asax.cs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     protected void Application_Start()
            {
    ...
                log4net.Config.XmlConfigurator.Configure();
    ...
            }
    et dans chaque fichier où je veux faire du log, j'ai ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
    et
    Or quand j'ai lancé mon serveur le 31/12/2012 il m'a bien créé le fichier SiteWeb_20121231.log par contre quand je suis revenu le 02/01/2013, il m'avait bien PAS créé de fichier le 01/01/2013 mais par contre il a copié le fichier du 31/12/2012 dans SiteWeb_20121231.log20121231 (1er pb...) et a généré les logs du 02/01/2013 dans SiteWeb_20121231.log (2ème pb...). Le contenu de la log en lui-même (au niveau des dates et du formatage) est bon par contre.
    Est-ce que vous pouvez voir ce que j'ai mal déclaré car je ne vois plus de mon côté.
    D'avance merci,
    Julien

  2. #2
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    415
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 415
    Points : 138
    Points
    138
    Par défaut
    Ok,
    En fait ce n'est pas le bon paramétrage car j'ai compris que le comportement était bien bon par rapport à ce paramétrage.
    Du coup je voudrais savoir comment avoir mon fichier de log qui se termine par .log ou .txt et qui ait un rolling journalier avec la date du jour dans le nom du fichier. Ce qui est pénible c'est que windows ne sait pas avec quel logiciel ouvrir mes fichiers qui ont une fin différente si la fin est la date...
    Un petit plus serait aussi d'avoir le nom du fichier du jour avec déjà sa date dans son nom.
    Merci pour votre aide.

  3. #3
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    415
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 415
    Points : 138
    Points
    138
    Par défaut
    Je me rapproche de la solution en remplaçant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <file type="log4net.Util.PatternString" value="logs\\SiteWeb_%date{yyyyMMdd}.log" />
    <param name="datePattern" value="yyyyMMdd" />
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <file type="log4net.Util.PatternString" value="logs\\SiteWeb.log" />
    <param name="datePattern" value="yyyyMMdd'.log'" />
    Le même résultat est obtenu en remplaçant par ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <file type="log4net.Util.PatternString" value="logs\\SiteWeb.log" />
    <param name="PreserveLogFileNameExtension" value="true"/>
    <param name="datePattern" value="yyyyMMdd" />
    Maintenant reste toujours à savoir comment, sans redémarrer le server tous les jours, je peux avoir mon fichier du jour du même format (date du jour et avec une extension) que les fichiers des jours précédents. Vous avez une idée?

  4. #4
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    415
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 415
    Points : 138
    Points
    138
    Par défaut
    J'ai trouvé la totale!
    Il faut en fait encore rajouter ceci dans la config:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <staticLogFileName value="false"/>
    On se retrouve bien maintenant avec le fichier du jour SiteWeb20130102.log et les fichiers précédents SiteWeb20130101.log
    Visuellement je trouve ça plus clair et windows n'a plus de souci pour ouvrir tous les fichiers.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. adapter un jeu pour un site web
    Par blastien dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 23/02/2006, 17h37
  2. Répertoire de session défirent pour chaque site web.
    Par The Tiger Man dans le forum Apache
    Réponses: 2
    Dernier message: 19/01/2006, 16h48
  3. recherche pour presentation site web sur PC et app. mobile
    Par Marc_3 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/04/2005, 15h33
  4. hote virtuel pour autre site web
    Par vedder dans le forum Apache
    Réponses: 8
    Dernier message: 27/07/2004, 14h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo