/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy
Publisher: Sybex;
ISBN: 0782129110
*/
#define TRACE
/*
Example21_13.cs demonstrates post-deployment tracing
*/
using System;
using System.Globalization;
using System.Diagnostics;
public class Example21_13
{
public static void Main()
{
// Set up a switch to turn tracing on
BooleanSwitch bsEnableTrace = new BooleanSwitch("TraceOutput",
"Turn on tracing");
// Set up a TraceListener to a file
TextWriterTraceListener tl = new TextWriterTraceListener("Example21_13.txt");
Trace.Listeners.Add(tl);
// And a second TraceListener to the event log
EventLogTraceListener t2 = new EventLogTraceListener("Application");
Trace.Listeners.Add(t2);
Trace.WriteLineIf(bsEnableTrace.Enabled,"Starting Main()");
// create a date and a currency value
DateTime dtNow = DateTime.Now;
Double curOriginal = 12345.67;
// and format the variables for a specific culture
CultureInfo ci = new CultureInfo("en-US");
string sLocalizedDate = dtNow.ToString("d", ci);
string sLocalizedCur = curOriginal.ToString("c", ci);
if (bsEnableTrace.Enabled)
{
Trace.Assert(sLocalizedDate != null, "Localized date has no content");
}
// print them out
Console.WriteLine(sLocalizedDate);
Console.WriteLine(sLocalizedCur);
Trace.WriteLineIf(bsEnableTrace.Enabled, "Exiting Main()");
Trace.Flush();
Trace.Close();
}
}