Cela peut être un plus de travail, mais je voudrais aller dans l'autre sens.
Instancier un TraceListener
pour la console et un pour le fichier journal; par la suite, utiliser Trace.Write
des déclarations dans votre code à la place de Console.Write
. Il devient plus facile par la suite de supprimer le journal, ou la sortie de la console, ou pour fixer un autre mécanisme de journalisation.
static void Main(string[] args)
{
Trace.Listeners.Clear();
TextWriterTraceListener twtl = new TextWriterTraceListener(Path.Combine(Path.GetTempPath(), AppDomain.CurrentDomain.FriendlyName));
twtl.Name = "TextLogger";
twtl.TraceOutputOptions = TraceOptions.ThreadId | TraceOptions.DateTime;
ConsoleTraceListener ctl = new ConsoleTraceListener(false);
ctl.TraceOutputOptions = TraceOptions.DateTime;
Trace.Listeners.Add(twtl);
Trace.Listeners.Add(ctl);
Trace.AutoFlush = true;
Trace.WriteLine("The first line to be in the logfile and on the console.");
}
Aussi loin que je puisse me rappeler, vous pouvez définir les auditeurs dans la configuration de l'application, rendant possible d'activer ou de désactiver la journalisation, sans toucher à la construire.