问题标签 [tracesource]

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 回答
946 浏览

c# - 以编程方式添加时引用库中的 TraceSource 未记录

这是我的 Winforms 应用程序中的配置文件。目前它已将 MyTraceSource 注释掉,如果我取消注释并运行我的程序,它会按预期工作。我从我引用的库中获得输出到我的控制台。MyTraceSource 是一个 Trace 源,它在我的引用库中实例化并使用,我将其称为 MyOposServiceObject。您会注意到我在我的 Logger.cs 文件中设置了另一个 TraceSource,名为 TestApplication。该跟踪源是我在测试应用程序中使用的日志记录(多么合乎逻辑的名称......)只是为了让我清楚在 2 个不同的项目中实例化并使用了 2 个跟踪源。一个是类库,另一个是winforms应用程序。如果我将我的 winforms 应用程序编译为控制台程序并在应用程序中取消注释我的 TraceSource。配置文件我从 MyOposServiceObject 记录到控制台。清如泥???确定一些代码。

应用程序配置

但是,我不希望我的程序成为控制台程序,所以我制作了一个自定义 TraceListener。

MyTraceListener.cs

我是这样接线的

记录器.cs

nowtrace在这个应用程序中使用,它的输出确实进入了我的小调试窗口。但我从 opos 什么也没得到。我究竟做错了什么?

0 投票
1 回答
1096 浏览

common.logging - 将 TraceSource 与 Common.Logging 一起使用的示例

我读过这个问题,我知道它可能: Common.Logging for TraceSource

有人可以发布一个例子。如果可以将其配置为在代码中使用 TraceSource 而不是使用 .config 文件,这也可能会有所帮助。

谢谢

0 投票
2 回答
507 浏览

c# - 跟踪来自同一应用程序的不同日志文件

首先是一些有关情况的背景信息。我有一个主应用程序(我们称之为核心)和一些次要应用程序(我们称之为核心作业)。Core 的主要工作是确保每个给定的 Core 作业都按照所述作业的时间表运行。这一切都是在 .NET C# 中开发的

我想创建一个环境,每个核心作业都可以将信息跟踪到不同的日志文件。我考虑使用简单的文件流,但我相信必须有一个更优雅的解决方案。

在我看来,我也许可以使用内置TraceSource和监听器。我TextWriterTraceListener为每项工作制作了一个并开始追踪。结果:每个作业都将信息跟踪到每个侦听器。

回到绘图板。我对它进行了更多研究,现在可以看到我的第一种方法是多么愚蠢。我现在为每个工作制作了一个来源,并为每个来源制作了一个监听器。在代码中,我指定了我想追踪的来源。但收效甚微:(

来自 app.config 的片段:

代码片段:

我也尝试过让共享听众成为可能,但没有帮助。并不奇怪,因为据我所知,共享听众的目的是让更多来源共享同一个听众。

在一些论坛上,人们一直在谈论 log4net——这能解决我的问题吗?我完全没有经验。

我想知道的是:我的问题是否有一个优雅的解决方案?是否可以使用跟踪源和侦听器解决我的问题?

0 投票
1 回答
433 浏览

c# - 自定义 TraceSource 以避免创建 TraceEventCache

我的项目有很多课程。每个类都使用 TraceSource 进行日志记录。我不想在记录时使用 TraceEventCache。基本上它的答案是我们可以告诉listner不要使用TraceOptions(CallStack,ProcessID等)编写TraceEventCache。这意味着 TraceSource 已经拥有 TraceEventCache。所以我的问题是 TraceSource 类的 TraceData 和 TraceEvent 方法是否为每次调用创建 TraceEventCache ?或者只是框架每个线程创建的单个对象,并且仅在 TraceSource 类中使用。

0 投票
1 回答
1544 浏览

c# - 从 xml 文件加载 System.Diagnostics.TraceSource 的配置

在 log4net 中,可以选择app.config从 .xml 文件或任意 xml 文件加载配置。

是否可以System.Diagnostics.TraceSource从任意 xml 文件加载配置?

0 投票
1 回答
667 浏览

c# - 使用类库中的 TraceSource 并在同一可执行文件的其他组件中使用它

我使用 system.Diagnostics 创建了一个用于事件记录实用程序的库,如下所示:

我想在我的应用程序和同一应用程序的其他组件 (dll) 中使用此日志功能。我尝试在我的应用程序的 app.config 中声明侦听器,但它不起作用:(。我的 app.config 如下所示:

如果我使用给定的清单文件在应用程序本身(可执行文件)中移动类 Logger,我可以在 eventviewer 中看到应用程序中的日志。但我不想以这种方式使用它。

有人可以帮我找出这里的根本问题吗?

0 投票
1 回答
314 浏览

c# - 为 C# 库定义 TraceSource 日志记录配置

我正在开发几个库,并计划使用 TraceSource 在其中实现一些诊断跟踪。我还希望允许用户附加/配置他们自己的监听器、开关、过滤器等。

由于库不附带配置文件,是否有任何现有的模式可以巧妙地完成这一点?

我一直在考虑以下问题:拥有一个库附带的 logging.config 文件,并展示我的库使用但不包含任何侦听器的源。接下来,在我的库中,我将从用户的 logging.config 和 app.config 中读取,并使用 app.config 文件中定义的任何侦听器覆盖 logging.config。这听起来像一个好的模式吗?

0 投票
4 回答
441 浏览

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

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

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

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

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

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

0 投票
1 回答
504 浏览

system.diagnostics - TraceSource 和 TraceListener 悄悄地什么都不做

当 System.Diagnostics 跟踪完全没有做任何事情时,如何对其进行故障排除?

0 投票
0 回答
247 浏览

c# - 来自 TraceSource 的日志填充包含“标准 ACE DB”

我的应用程序使用 TraceSource 来记录事件和信息。不知何故,它在某台计算机上工作并写入垃圾数据。日志文件开头Standard ACE DB并包含各种奇怪的数据。它看起来像我在谷歌上找到的这个文件

我的应用程序是在 .NET 4.5 中用 C# 编写的,文件是使用 TraceSource 和此配置创建的<add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="logfile.log" traceOutputOptions="DateTime"/>

为什么会这样?