Gestion d'un fichier de debug

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

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.