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

Framework .NET Discussion :

Comment obtenir un fichier Log en .net


Sujet :

Framework .NET

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 230
    Points : 68
    Points
    68
    Par défaut Comment obtenir un fichier Log en .net
    Bonjour,

    Je voudrais savoir est ce qu'il y on a des fichiers log en .net( j'ai entendu parlé de global.asax mais je ne sais pas comment faire?). Je sais qu'on delphi on utilise les fichiers SPY mais en .net je n'ai aucune idée est ce que quelqu'un pourrais m'aider.

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Plusieurs solutions s'offrent à toi:
    -Le mécanisme de traces de .net http://msdn.microsoft.com/en-us/library/ms733025.aspx
    -Les Enterprise Librairies de Microsoft
    -Une librairie comme Log4Net

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Bah tu peux faire des fichiers logs, mais il n'y a pas une manière unique de faire.
    Tu peux écrire manuellement des fichiers texte, utiliser un framework de log comme NLog ou log4net, etc...

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 230
    Points : 68
    Points
    68
    Par défaut
    Merci pour vos réponses rapides et très utiles.

  5. #5
    Rédacteur
    Avatar de benji_dv
    Homme Profil pro
    Architecte
    Inscrit en
    Juillet 2005
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 375
    Points : 1 276
    Points
    1 276
    Par défaut
    Qu'importe la technique utilisée (log4net, etc), cependant, je te conseille de présenter le log (comme toute autre fonctionnalité extérieure style envoi de sms, mms, mails, etc) sous la forme d'une facade (design pattern) qui masque l'implémentation réelle à ton application, le tout géré par une fabrique abstraite.

    Je t'ai mis en PJ à ce post deux fichiers types :

    Tracer.Modele.cs - constitue la facade et contient la méthode de fabrication des implémentations de Tracer,
    TraceSourceTracer.Modele.cs - implémentation pour les TraceSource Microsoft. (te reste donc plus qu'à placer le paramétrage dans le ficheir de config)

    En général, nous créons un assembly "Tools" qui contient entre autre ces deux classes (ou d'autres implémentation, si autres log providers utilisés).
    Les composants logiciels qui doivent logguer utilisent l'assembly par la fabrique
    Tracer.Create("nomDuLogger") ce qui va retourner un Tracer (facade masquant l'implémentation réelle.

    Ce petit mécanisme permet de coupler faiblement tes consommateur du service de log, du service lui même. Ce qui permet de passer de NLog à Log4Net (ou autre), sans devoir recoder quoi que ce soit dans les composants logiciels qui l'utilise...
    Fichiers attachés Fichiers attachés
    Benjamin DEVUYST
    Et comme l'a dit Rick Osborne
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live"
    http://bdevuyst.developpez.com
    http://blog.developpez.com/bdevuyst
    www.bdevuyst.com

  6. #6
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Vous pouvez également utiliser les classes fournies par Enterprise Librairy. Il y'a un bloc pour le logging.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 230
    Points : 68
    Points
    68
    Par défaut
    @ benji_dv: Merci pour l'info mais j'ai pas bien saisi que ce que tu veux dire exactement, j'ai quelques questions à te poser:
    1)Quand tu dis
    te reste donc plus qu'à placer le paramétrage dans le ficheir de config
    il faut que je rajoute quoi exactement dans le fichier web config( Je suis désolé j'ai jamais utilisé c'est pour ça je demande)
    2)Pour cela
    nous créons un assembly "Tools" qui contient entre autre ces deux classes (ou d'autres implémentation, si autres log providers utilisés).
    Les composants logiciels qui doivent logguer utilisent l'assembly par la fabrique
    Tracer.Create("nomDuLogger") ce qui va retourner un Tracer (facade masquant l'implémentation réelle.
    est ce que je peux avoir un exemple bien précis ou bien y a t-il une documentation que tu me conseille de la lire pour avoir plus d'idées.

    @WOLO Laurent: Est ce que je peux avoir plus de précisions sur ta proposition
    Vous pouvez également utiliser les classes fournies par Enterprise Librairy.
    Je vous souhaite une bonne journée et merci pour votre aide.

  8. #8
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Citation Envoyé par Naceur84 Voir le message
    @WOLO Laurent: Est ce que je peux avoir plus de précisions sur ta proposition
    Je vous souhaite une bonne journée et merci pour votre aide.
    http://msdn.microsoft.com/en-us/library/ff648951.aspx
    http://msdn.microsoft.com/en-us/libr...PandP.50).aspx

  9. #9
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Voilà que tu as une large palette de librairie, il te faut faire le choix d'une librairie pour que nous puissions vous accompagner.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 230
    Points : 68
    Points
    68
    Par défaut
    Bonjour,

    Je suis désolé pour le retard de ma réponse ( je suis parti sur une autre chose et du coup je n'ai pas creusé bien le sujet pour que je puisse donner des nouvelles )

    Finalement j'ai pris la décision d'utiliser log4net que je le trouvais après des tests que je viens de les effectuer (il répond à mes besoins).

    Je rajoute une documentation que je la trouvais intéressante http://www.scribd.com/doc/58767602/78/Loggeraveclog4net

    mais est ce que quelqu'un peux me dire pourquoi chaque fois le fichier log s'écrase malgré que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
          <file value="example.log" />
          <appendToFile value="true" />
          <maximumFileSize value="100KB" />
          <maxSizeRollBackups value="2" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%-6level %date{dd MMM yyyy HH:mm:ss} - %message%n" />
          </layout>
    Merci.

  11. #11
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Peux-tu nous montrer le code d'initialisation de ton objet ?
    Est ce que <maximumFileSize value="100KB" /> est suffisante ?

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  12. #12
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 230
    Points : 68
    Points
    68
    Par défaut
    Pour
    Est ce que <maximumFileSize value="100KB" /> est suffisante ?
    je viens de tester 1000KB mais ça n'a rien changé(Sachant que pour le moment presque je ne met même pas 20KB). A titre de remarque je viens de lire que meme si la taille du fichier est insuffisante un autre sera crée mais on n'écrase jamais le contenu.

    Pour
    Peux-tu nous montrer le code d'initialisation de ton objet ?
    si j'ai bien compris tu cherche ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    protected static readonly ILog _log = LogManager.GetLogger(typeof(CallService));
            static CallService() { log4net.Config.XmlConfigurator.Configure(); }

  13. #13
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Je te suggère de fixer les valeurs de la taille max par code et appendToFile=true et relance les tests.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  14. #14
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 230
    Points : 68
    Points
    68
    Par défaut
    @WOLO Laurent: quand tu dis
    Je te suggère de fixer les valeurs de la taille max par code
    Je ne sais pas le faire t'as une idée ? malgré que ça existe dans le fichier de config comme je viens de le montrer et pour
    appendToFile=true
    aussi il se trouve au niveau du fichier de config

  15. #15
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Je ne suis pas trop sûr mais ca devait marcher.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    _log.appendToFile=true;
    _log.maximumFileSize=100KB;

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  16. #16
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 230
    Points : 68
    Points
    68
    Par défaut
    En testant j'ai eu comme erreur cette méthode appendToFile n'existe pas

  17. #17
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 230
    Points : 68
    Points
    68
    Par défaut
    Bonjour,
    En effectuant d'autres tests j'ai trouvé cette solution qui consiste en l'ajout de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <datePattern value="yyyyMMdd"/>
    à mon appender et de cette façon j'aurais le rolling chaque jour et du coup des logs pour chaque jours.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
          <file value="example.log" />
          <datePattern value="yyyyMMdd"/>
          <appendToFile value="true" />
          <maximumFileSize value="1000KB" />
          <maxSizeRollBackups value="10" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%-6level %date{dd MMM yyyy HH:mm:ss} - %message%n" />
          </layout>
        </appender>
    Je ne vais pas mettre le sujet comme résolu il se peux que vous avez d'autres réponses. Pour moi en ce moment ça marche nickel mais il se peux qu'il y a des améliorations à faire.

    Merci

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

Discussions similaires

  1. [VB.NET] Comment dezipper un fichier en VB.net
    Par vijeo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 30/06/2006, 16h07
  2. [IDE][VS2003]Comment obtenir l'Intellisense sous VB.Net?
    Par joKED dans le forum Visual Studio
    Réponses: 5
    Dernier message: 22/03/2006, 10h14
  3. Réponses: 2
    Dernier message: 01/12/2005, 13h10
  4. Comment créer un fichier log ?
    Par raoulmania dans le forum Langage
    Réponses: 15
    Dernier message: 22/07/2005, 11h31
  5. [] [Stratégie] Comment créer un fichier log
    Par Skeezo dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 16/09/2002, 18h30

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