Tag: tracelistener

System.TraceListener如何在消息中添加进程名称?

我一直在寻找使用System.Diagnostics.Trace进行日志记录是一个非常基本的应用程序。 一般来说,我只需要做它。 缺点是,如果我打电话 Trace.TraceInformation(“Some info”); 输出是“SomeApp.Exe Information:0:Some info”。 最初这招待我但不再。 我想将“Some info”输出到控制台。 所以我认为编写一个cusom TraceListener,而不是使用内置的ConsoleTraceListener,可以解决问题。 我可以看到一个特定的格式,我希望第二个冒号之后的所有文本。 这是我试图看看这是否有效。 class LogTraceListener : TraceListener { public override void Write(string message) { int firstColon = message.IndexOf(“:”); int secondColon = message.IndexOf(“:”, firstColon + 1); Console.Write(message); } public override void WriteLine(string message) { int firstColon = message.IndexOf(“:”); int secondColon = message.IndexOf(“:”, firstColon + […]

如何:在C#应用程序代码中禁用/启用WCF跟踪

我花了一段时间才能做到这一点,所以我决定分享一个解决方案,因为它可能会为其他人节省几天的反复试验。 问题:我希望能够在我的C#.NET应用程序中启用/禁用WCF跟踪并选择跟踪输出文件名。 我不希望用户编辑.config文件,那里有太多的错误空间。 这是一个解决方案。 应用程序的.config文件: 我的C#代码: using System; using System.IO; using System.Diagnostics; namespace MyNamespace { public class MyXmlListener : XmlWriterTraceListener { public static String TraceOutputFilename = String.Empty; public static Stream MakeOutputStream() { if (String.IsNullOrWhiteSpace(TraceOutputFilename)) return Stream.Null; return new FileStream(TraceOutputFilename, FileMode.Create); } public MyXmlListener () : base(MakeOutputStream()) { } } } 要启用WCF跟踪到文件,请在创建WCF对象之前设置TraceOutputFilename: MyXmlListener.TraceOutputFilename = “trace.svclog”; 我从这个论坛获得了很大的好处,我希望这篇文章付出代价! […]