static void Main(string[] args) { Console.WriteLine("Hello World!"); using (var console_listener = new ConsoleTraceListener()) { //// limpa o ouvinte trace padrão Trace.Listeners.RemoveAt(0); //// adicionando o ouvinte Trace.Listeners.Add(console_listener); if (args.Length >= 1) { string failMessage = String.Format("\"{0}\" " + "is not a valid number of possibilities.", args[0]); console_listener.Fail(failMessage, "erro message"); } else { // Report that the required argument is not present. const string ENTER_PARAM = "Enter the number of " + "possibilities as a command line argument."; console_listener.Fail(ENTER_PARAM); } // especifique a fonte de rastreamento TraceSource ts = new TraceSource("ConsoleTraceSource", SourceLevels.All); console_listener.Name = "console_listener"; // limpa o ouvinte padrão ts.Listeners.Clear(); // adicionando o ouvinte ts.Listeners.Add(console_listener); // rastreando as informações / problemas que entrarão no ouvinte adicionado ts.TraceInformation("Rastreio TraceSource a aplicação.."); // Test the filter on the ConsoleTraceListener. ts.Listeners["console_listener"].Filter = new SourceFilter("No match"); ts.TraceData(TraceEventType.Error, 5, "\nSourceFilter should reject this message for the console trace listener."); ts.Listeners["console_listener"].Filter = new SourceFilter("ConsoleTraceSource"); ts.TraceData(TraceEventType.Error, 6, "\nSourceFilter should let this message through on the console trace listener."); ts.TraceData(TraceEventType.Error, 1, new string[] { "Erro1", "Erro2" }); ts.Flush(); ts.Close(); } Console.ReadKey(); }