如何以编程方式启用WCF跟踪?

时间:2014-10-08 14:37:16

标签: c# wcf tracing

我有一个托管为Windows服务的WCF服务(项目输出类型 - Windows应用程序)。所有客户端和服务器逻辑都在c#代码中,我没有任何配置文件。我需要在不使用配置文件的情况下启用wcf跟踪。 我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您可以通过编程方式配置要放在.config文件中的内容。初始化服务时,只需添加此代码(根据您的日志记录要求进行自定义):

var listener = new XmlWriterTraceListener("Log.xml");
Debug.Listeners.Add(listener);

请注意,您可以像设置.config文件中的属性一样设置所需的所有属性(例如,日志级别):

Debug.AutoFlush = true;
listener.TraceOutputOptions = TraceOptions.Callstack;

您也可以添加自定义过滤器:

listener.Filter = new MyCustomTraceFilter();

答案 1 :(得分:0)

按设计你不能看到:

http://social.msdn.microsoft.com/Forums/vstudio/en-US/25b17fef-5660-499d-ad1b-aaa3b8ab7f60/how-do-you-enable-wcf-tracing-without-using-a-config-file-programmatically?forum=wcf

如果没有任何配置文件,则无法执行此操作。但是你可以有一个系统为第二个系统写配置文件。然后,第一个系统将在单独的应用程序池中启动第二个系统。日志记录将在第二个系统中打开。