Gestion d'un fichier de debug

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 713 fois - Téléchargée 29 fois

Contenu du snippet

Lorsque l'on développe des classes en c#, il peut être utile de créer un fichier de débug où l'on stockera toutes les exceptions qui sont intervenues au cours du développement.
Cette technique est surtout très utile lorsque l'on transfère le site sur Internet, et il permet de voir les éventuelles erreurs de connexion à la base, ou de récupération des données lorsqu'elles se présentent.
En bref, voici un exemple simple illustrant la manière d'écrire dans un fichier.

Source / Exemple :


1) Création de la classe Debug.cs : 
[ une précision : le chemin d'accès au fichier dans lequel seront écrites les erreurs est stocké dans le web.config ]

using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.IO;

namespace Host
{
     public class Debug
     {
            public String myErrorText;

	public void AddToDebug()
	{
  // on récupère le chemin d'accès au 
  // fichier debug.txt grace à cette ligne
  StreamWriter myStream = File.AppendText(Convert.ToString (ConfigurationSettings.AppSettings["AccesDebugFile"]));
 myStream.WriteLine (myErrorText);
myStream.Close();
}
    }
}

2) Appel de la fonction AddToDebug dans une des fonctions d'une autre classe :

dans le catch : 
catch(Exception ex)
{
	Debug aDebug = new Debug();
	aDebug.myErrorText = ("\r\n"+DateTime.Now+"\r\n"+ex.ToString());
	aDebug.AddToDebug();
}

Ensuite, à chaque fois que l'on passera dans le catch, l'exception sera écrite automatiquement dans le fichier debug.txt

Rmqs : 
 - Pensez à vous accorder les droits sur le fichier (remarque idiote, peut-être, n'empêche qu'il est facile de se faire avoir ! ;-)  )
 - Pensez à stocker le chemin d'accès complet au fichier dans le web.config.

A voir également

Ajouter un commentaire

Commentaires

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
rooo il est taquin le Arthenius aujourd'hui ^^
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
12
Mais ca n'a rien a voir avec le fait que ce soit toi qui l'a ecrit.. ;o))
n'est-ce pas :o))))
Messages postés
1522
Date d'inscription
mardi 18 décembre 2001
Statut
Modérateur
Dernière intervention
21 août 2010
5
Je pense que le tracelistener est une meilleure solution, http://www.csharpfr.com/code.aspx?ID=11538. Surtout, avec une seule ligne par exception on peut tracer dans plusieurs endroits differents (Mails, Fichiers / DB / ... ) il suffit de coder les tracelistener voulu et de les ajouter au listener de Debug et/ou Trace :)

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.