Log des console writeline

Soyez le premier à donner votre avis sur cette source.

Vue 5 609 fois - Téléchargée 243 fois

Description

Cette source permet de réaliser un log de toutes les infos affichées sur la Console.

Après l'initialisation d'une variable de ma classe ConsoleLog, il est possible de s'abonner sur deux évènement :
- BeforWrite : qui est appelé avant l'ecriture, il permet de choisir le type d'écriture à réaliser
- AfterWrite : qui est appelé après l'écriture, il permet d'éffectuer d'autre actions, comme une écriture en base de donnée des message d'érreurs.

Voilà, jespère que cette source pourra servir à d'autre...
Prévenez moi si quelque chose ne marche pas comme prévue...

Source / Exemple :


class Program
{
     static ConsoleLog cLog;
     static void Main(string[] args)
     {
         cLog = new ConsoleLog("Fichier.log");
         // A partir de ce point, tous appel à la fonction "Console.Write" ou "Console.WriteLine"
         // sera redirigable vers le fichier "Fichier.log" et/ou vers la console.
     }
}

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
15
Date d'inscription
dimanche 8 mai 2005
Statut
Membre
Dernière intervention
3 août 2009

Bonjour LittleKenny,

Effectivement , il est possible de modifier la classe comme tu le propose.
Il fallait dans mon cas que le log se réinitialise à chaque redémarrage de l'appli...

Meric des remarques, et je suis bien content que ca puisse servir !!!

Bonne continuation
Messages postés
43
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
10 septembre 2009

Merci, c'est bien utile.

Deux remarques:
_ Il me semble qu'il manque la référence "using System;" dans ta classe.
_ Dans ton constructeur, j'aurais écrit ça à la place:
stream = File.Exists(path) ? File.AppendText(path) : File.CreateText(path);
On ne perd pas l'info précédente chaque fois que l'on compile, on peut écrire ceci dans la méthode write dans ce cas :
string value = string.Format("{0}: {1}", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"), arg.Value);

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.