【发布时间】:2014-10-08 14:37:15
【问题描述】:
我有一个作为 Windows 服务托管的 WCF 服务(项目输出类型 - Windows 应用程序)。所有客户端和服务器逻辑都在 c# 代码中,我没有任何配置文件。我需要在不使用配置文件的情况下启用 wcf 跟踪。 我该怎么做?
【问题讨论】:
我有一个作为 Windows 服务托管的 WCF 服务(项目输出类型 - Windows 应用程序)。所有客户端和服务器逻辑都在 c# 代码中,我没有任何配置文件。我需要在不使用配置文件的情况下启用 wcf 跟踪。 我该怎么做?
【问题讨论】:
您可以通过编程方式配置您要放入.config 文件的内容。当您初始化您的服务时,只需添加此代码(根据您的日志记录要求对其进行自定义):
var listener = new XmlWriterTraceListener("Log.xml");
Debug.Listeners.Add(listener);
请注意,您可以设置所需的所有属性(例如日志级别),就像在 .config 文件中设置属性一样:
Debug.AutoFlush = true;
listener.TraceOutputOptions = TraceOptions.Callstack;
您还可以添加自定义过滤器:
listener.Filter = new MyCustomTraceFilter();
【讨论】:
按照设计,你不能这样做:
如果没有任何配置文件,您将无法执行此操作。但是您可以让一个系统为第二个系统编写配置文件。然后,第一个系统将在单独的应用程序池中启动第二个系统。日志记录将在第二个系统中打开。
【讨论】: