问题标签 [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 回答
238 浏览

.net - TraceListener 跟踪 WCF 事件,但不跟踪自生成的事件

我们的商店有一个 TraceListener,它通过 web 服务调用将事件发送到存储库。我们将它用于我们自己的 TraceSource,但希望能够将其用于其他 TraceSource,例如 System.ServiceModel 和 System.Activities。

问题是我们使用 WCF 客户端调用在 TraceListener 中进行写入,如果 System.ServiceModel 跟踪源附加到我的侦听器,我最终会进入一个循环,例如跟踪触发内部客户端调用的事件,这反过来会导致WCF 跟踪源触发 TraceEvent 并随之发生循环。

如何使我的内部 WCF 调用不会导致 WCF 跟踪源触发?

0 投票
4 回答
12250 浏览

c# - System.Diagnostics.TraceSource 中的跟踪输出格式

以下代码:

生成以下输出:

我的应用程序信息:0:Hello World

跟踪输出开头的“MyApplication Information: 0 :”部分来自 TraceSource 类本身。

但是,我需要在行首有一个时间戳,我也想将“信息”更改为“信息”。

有什么方法可以在跟踪输出中获得更多自由,以便我可以将其配置为:

13:03:00 - MyApplication信息:Hello World

我尝试了几个小时,但没有成功。无论我做什么,在输出行的开头,总是有这个常量预定义的“MyApplication Information:0:Hello World”输出。

MSDN 文档也没有透露任何有用的信息。

0 投票
2 回答
1259 浏览

c# - TraceSource 名称如何在 .NET 程序中解析?

TraceSource 类的 MSDN 文档有一个示例,说明 app.config 文件如何列出 TraceSource 实例的信息:

http://msdn.microsoft.com/en-us/library/system.diagnostics.tracesource.aspx

但是,没有关于 TraceSource 值存储在哪里的信息......现有的 TraceSource 对象存储在哪里?它们是什么时候(编辑:它们的意思是配置的实例)构造的?TraceSource 对象如何知道在创建 TraceSource 对象时如何返回命名实例(编辑:应该配置实例)而不是新实例?我可以在不使用反射的情况下找到现有 TraceSource 对象的列表吗?

0 投票
1 回答
1011 浏览

system.diagnostics - 如何通过 TraceSource 调用 TraceListener.Write(object)

我们有一个自定义 TraceListener 实现,它只在收到特定对象(LogMessage)时记录。当直接使用该Trace.Write(object)方法时,这一切都很好。

由于性能原因,我想将监听器分开,所以所有不相关的 Trace 消息都不会传递给监听器。因此,我创建了一个特定的 TraceSource,只附加了这个监听器。

现在我很难使用 TraceSource 将我的自定义日志对象 (LogMessage) 传递给侦听器。TraceSource.TraceData(TraceEventType, int, object)总是调用方法,而TraceListener.Write(string)不是TraceListener.Write(object)方法。

有什么方法可以使用 TraceSource 将自定义对象传递给 Listener?

示例代码:

谢谢托马斯

0 投票
2 回答
2050 浏览

c# - 等待 Task.Run 在退出时更改跟踪 ActivityId

我正在尝试使用 Trace.CorrelationManager.ActivityId 来关联日志条目。但是,我发现这段代码何时完成:

ActivityId 与输入时的内容不同。虽然在 LongRunningMethod() 中它是正确的(我在方法中有各种跟踪事件),但它似乎只在等待完成时才会改变。

我的问题是为什么 ActivityId 改变了?

这行代码在一个用 async 声明的函数中,该函数又由 MVC 项目中的异步控制器操作调用:

也许我错误地使用了 async/await 或 Task 方法?我基本上希望所有“LongRunningMethod”同时异步启动,然后等到全部完成。

0 投票
5 回答
1763 浏览

asp.net - TraceSource:自定义 TraceListener 不起作用

我正在使用 TraceSource 来记录 ASP.Net 应用程序。要更改输出格式,我需要创建自己的 TraceListener 而不是 TextwriterListener。

// 调用

没有错误。输出文件中没有打印数据。我是 ASP.Net 新手,谁能帮我解决这个问题。

更新


我尝试了另一种方式。但导致配置错误。

异常详细信息:System.Configuration.ConfigurationErrorsException:无法创建 WebTracing.CustomTraceListener、WebTracing。

注意:普通 TextWriterListener 工作正常。但我需要自定义侦听器来格式化输出字符串。

0 投票
2 回答
114 浏览

.net - “基于方面的跟踪”有什么优点吗?

为了清楚起见,我对“方面”的含义是应用程序功能的水平因素,而不是像面向方面编程中那样拦截所有方法调用。

我刚刚发现了 .NET Trace 基础结构的美妙之处,尤其是TraceSource对象。就像我这个菜鸟一样,我给每个类它自己的 TraceSource,跟踪方法开始和结束,错误等。

但是,现在,我认为TraceSource每个方面都更好。例如,我有一个应用程序可以导入停车场内的车辆移动记录,计算停车费,然后将消息发布到计费系统 (WHMCS)。

我在想我应该有一个具有一堆静态TraceSource属性的类,如下所示:

这样,我可以做,例如,Traces.Pricing.VehicleMovements ("Terminal Id not configured");在我发现该场景的任何课程中,并有一个更好的分组和更有凝聚力的日志或其他输出。

这是一个好主意吗?作为奖励,一些关于跟踪策略和模式的资源的指针会很棒,谢谢。

0 投票
1 回答
478 浏览

.net - 我如何告诉 -all- .NET Trace Sources 用户监听器?

我有各种类库,其中包含跟踪源。工作正常。

在我的.config文件中,我需要指定哪个源将其文本转储给侦听器。很好,效果很好。

但是我有大约 20 个具有相同开关值和过滤器类型等的源。

那么,有没有办法说:对于所有库中的所有源,使用这个开关值、这个过滤器和这个监听器。

实际上:将所有跟踪信息转储到此/这些侦听器。

这可以做到吗?

0 投票
1 回答
126 浏览

.net - 为什么要将 TraceSource 创建为静态的?

对于我看到的人们为类创建 TraceSource 的所有示例,它总是被定义为静态的

为什么要结束

有什么优点/缺点?

0 投票
0 回答
91 浏览

.net - 如何构建 TraceSource 侦听器应用程序?

我真的可以使用一个独立于 VS2012 的窗口,我可以在我的另一个监视器上运行它来显示 TraceSource 消息,因为它们是编写的?我意识到这会使跨进程的事情稍微复杂化,但我确信有很多方法可以在进程之间共享数据,包括内存中的数据库,最坏的情况是磁盘上的数据库。数据只需要在监听应用程序中是可持久的,因此甚至可能是一个使用远程调用监听器仪表板应用程序的进程内跟踪监听器。

还是已经有我可以做的事情了?