问题标签 [traceswitch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
507 浏览

c# - 我应该在我的设计中将项目或应用程序范围的 TraceSwitch 放在哪里?

我正在尝试使用由System.Diagnostics. 由于我的解决方案包含多个项目,因此我想为整个应用程序创建一个开关,并为每个项目创建一个开关。

现在的问题是,我怎样才能做到这一点,我应该把开关定义放在哪里?

从应用程序范围的开关开始,由于我理解的 C# 中没有全局变量之类的东西,我怎么能做到这一点?

会放

在每个类中解决这个问题,还是宁愿创建与类一样多的开关,每个类都具有相同的名称?(我猜是后者)

或者我应该把初始化放在一个单独的类中吗

并像这样从其他所有类中引用它

这将解决为整个项目使用 1 个开关的问题,但这是一个好习惯吗?

关于应用程序范围的开关,我必须GlobalSwitch在每个其他项目中引用包含该类的项目,如果可能的话我想避免这种情况。

非常感谢有关如何以智能方式完成此操作的一些线索。

0 投票
1 回答
1198 浏览

c# - 在运行时切换 TraceSwitch

我正在尝试访问我的应用程序中 .NET System.Net 跟踪功能中可用的一些诊断信息。

我知道我可以使用适当的 .config 设置跟踪级别,但我希望能够以编程方式切换开关。(即在我的程序执行的特定部分打开跟踪)。

有没有办法让我在代码中切换 System.Net 跟踪功能使用的 TraceSwitch/TraceSources?

我知道This SO question,但这种情况似乎不同,因为根本问题是有问题的库正在为每个写入调用创建一个新的 TraceSwitch 。

0 投票
3 回答
4369 浏览

.net - TraceSwitch 和 SourceSwitch - 有什么区别?

所以我可能在这里遗漏了明显的东西,但TraceSwitchSourceSwitch类的功能实际上有什么区别?

它们都给出了相同的摘要描述:

提供多级开关来控制跟踪和调试输出,而无需重新编译代码。

备注部分是否与我的眼睛奇怪地相似。有人可以澄清他们的功能和用例的区别吗?

(为了完整起见,我对我的TraceSource对象使用了开关,而不是旧的静态Trace类,尽管我怀疑它会产生很大的不同。)

0 投票
2 回答
2243 浏览

c# - 如何过滤事件ID监听的跟踪?

我正在使用下一个方法添加跟踪记录:

其中 Int32 表示事件 ID。

那么如何在 TraceSwitch 中进行过滤以仅通过指定的事件 id 进行侦听?这是不可能的吗?

0 投票
1 回答
438 浏览

c# - 为什么我的 DLL.config 文件无法在某些机器上加载

我有一个用 C# 编写的 Outlook 加载项 MyAddin.dll,它有一个配置文件 MyAddin.dll.config。两者都存储在同一目录中。它们被放置在那里并由安装人员安装。在大多数安装中,查找和读取配置文件没有问题。但是,在一些安装(完全相同的版本、安装等)中,.config 永远不会打开。

配置文件内容如下所示...

我在我的一个类中的插件中通过调用隐式加载此配置文件...

就像我说的,这适用于许多安装,但不适用于少数安装。我已经运行 PROCMON 来监视配置文件中的文件事件。在文件加载的系统上,PROCMON 在跟踪中显示它。在不加载它的系统上,PROCMON 没有显示配置文件。

为什么我的 C# 编译的应用程序扩展 (DLL) 会在一个实例中正确加载,但甚至不会尝试在另一个实例中加载配置文件?或者,您能否提供诊断此问题的建议?在哪里看等等。

更多信息:插件编译为“任何 CPU”,它安装在 Windows 7 x64 上。已安装 32 位版本的 Office 2010 (Outlook)。所有这些参数对于工作版本和不打开配置文件的版本都是正确的。

更多信息(2/21/2012):插件以发布模式构建。在 VS2008 Project Properties>Build 下,勾选“Define TRACE constant”。该解决方案针对 .NET 3.5 Framework。行为似乎是失败的机器上的 System.Diagnostics.TraceSwitch 实现与其他机器上的不同。我使用进程资源管理器将故障机器与工作机器进行比较,不同之处主要在于故障机器主要具有预编译的程序集,而工作机器则没有。那应该有关系吗?

0 投票
1 回答
106 浏览

c# - 如何访问 App.config 中声明的开关?

这是我的 App.config 的一个片段:

如何在我的 C# 代码中创建 TraceSwitch,该代码将与 App.config 中的这个“Logowanie”连接?我希望在我的代码中能够编写如下内容:

老实说,我只做了一个:

如您所见,与 App.config 中的名称相同,但我认为它不起作用:/

0 投票
4 回答
441 浏览

c# - TraceSource 是否应该使用“if”语句来保护?

在跟踪到 TraceSource 之前,是否应该在发出跟踪之前检查“跟踪级别”?

虽然有SourceSwitch.ShouldTrace(TraceEventType),但文档表明

应用程序代码不应调用此方法;它旨在仅由 TraceSource 类中的方法调用。

似乎 pre-TraceSource 模型使用了TraceSwitch(不是 SourceSwitch)类,该类具有各种TraceXYZ方法(为此目的?),但 TraceSource 模型似乎不需要/使用/提及这些方法。

(在 trace 方法之外设置守卫会影响对调用中/用于调用的表达式的评估 - 当然,副作用或计算成本高昂的操作是“糟糕的”和“不明智的”,但我仍然希望专注于主要问题。)

0 投票
1 回答
88 浏览

c# - TraceSwitch - 如何根据用户数据在配置文件中打开/关闭跟踪

我想为某些用户数据打开跟踪,例如特定的航班号或特定的贸易伙伴。我会创建一个自定义开关类,然后读取一些 appSetting 变量来确定哪些用户数据会打开和关闭跟踪吗?

或者有没有办法为交换机本身定义额外的参数?