问题标签 [tracelistener]

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

.net - 基于 XmlWriterTraceListener 的线程安全跟踪监听器

我想用一个基于文件大小限制或当前日期切换文件的侦听器替换默认的 Microsoft XmlTraceListener。我想保留默认的 XmlTraceListener 文件格式,以便可以使用 ServiceTraceViewer 工具打开文件。

我发现了一篇文章http://www.codeproject.com/Articles/30956/A-Rolling-XmlWriterTraceListener但从评论看来,即使应用了建议的补丁,这个监听器也有一些不稳定性。

然后我找到了微软自己实现的 CircularListener http://msdn.microsoft.com/en-us/library/aa395205.aspx

我想扩展它,但注意到它有

后来这个变量在没有锁的情况下被访问。在阅读http://msdn.microsoft.com/en-us/library/ms733025.aspx时,我发现即使 XmlWriterTraceListener 本身也不是线程安全的。MSDN 说:

因为 System.Diagnostics.XmlWriterTraceListener 不是线程安全的,所以跟踪源在输出跟踪时可能会独占锁定资源。当许多线程将跟踪输出到配置为使用此侦听器的跟踪源时,可能会发生资源争用,从而导致严重的性能问题。要解决此问题,您应该实现一个线程安全的自定义侦听器。

所以本质上,这意味着TraceListener.IsThreadSafe属性与falseXmlWriterTraceListener 一样,所以每次调用 TraceData / TraceEvent 时,更高级别的跟踪系统都会锁定,对吗?

static CircularStream m_stream在它周围添加一个锁并true从覆盖的IsThreadSafe 属性中返回会有什么好处吗?或者它可能与 XmlTraceListener 中已经完成的事情相同?

我该怎么做才能使 CircularTraceListener 线程安全且高效?

0 投票
1 回答
152 浏览

wix - System.diagnostics 日志记录问题 + Wix 应用程序名称更改

在我的应用程序中,我配置了 Trace 侦听器,如下所示

“HelloWorld”是我的AssemblyName命名空间

在使用 WIX 创建安装程序时,在我的 WIX 文件中,我会将 Target exe 文件从“HelloWorld.exe”变为“MyWorld.exe”,如下所示

由于EXE名称发生了变化,因此 Tracelistener 不会创建日志文件。

目标名称应该是“Myworld.exe”,如果我将文件元素还原为

它运作良好

谁能帮我。

0 投票
3 回答
8411 浏览

wcf - 跟踪来自客户端的 WCF 调用

我已经构建了一个进行 WCF 调用的 Windows 窗体客户端应用程序。我希望能够从应用程序中显示实际的请求和响应,包括 SOAP 标头和有关 POST/Get 的信息。有没有办法在客户端上配置跟踪侦听器并在客户端内使用它,在文本框中显示内容?

我已经配置了将消息输出到文件的跟踪。此配置在我的客户端应用程序上,因此它记录了它对 wcf 服务的所有调用和响应。因此添加了源,并且每个源都有一个 XmlTraceListener,它处理对 xml 日志文件的写入。我现在要做的是利用客户端应用程序本身中的跟踪侦听器并写入文本框控件。

所以现在我的消息记录已经工作了,我创建了自己的可以写入文本框的跟踪侦听器:

现在我有了跟踪侦听器,我想尝试从我的 Windows 窗体客户端应用程序中使用它。

在这一点上,我仍然没有看到记录到文本框控件。我认为侦听器与源无关,所以我尝试了以下方法:

毕竟,消息不会被记录到表单上的文本框中。它们通过 XmlTraceListener 记录到文件中,所以我假设问题是我如何通过 System.Diagnostics.Trace.Listeners.Add() 添加自定义侦听器。这是正确的方法吗?

0 投票
1 回答
74 浏览

c# - 我不确定我的游戏是否正常运行

我和我的朋友一直在做一个游戏,我们设置了一个跟踪监听器,这里是一些代码:

}

在这个阶段,我们只是尝试使用跟踪侦听器在其中输出一些文本,ListBox所以我们知道它正在工作,所以我们有一个事件处理程序设置:

我们无法从跟踪侦听器获得任何输出。Add没有为此设置作为跟踪侦听器的方法。任何人都可以提供一些建议吗?我想也许我们正在做一些我们错过的非常愚蠢和明显的事情。

0 投票
1 回答
2943 浏览

c# - Remove listeners/ disabling log for trace source in c# code

In order to disable FirebirdSQL logging, I need to add the following code (See here) to app.config:

This succeeds, i.e. nothing is logged. Now I have do do this in C# code, but everything is logged despite my code:

which I added to the assemblies that execute SQL statements.

What am I missing?

0 投票
1 回答
439 浏览

logging - 如何将日志信息记录到平面文件+事件日志

我有一个第 3 方应用程序,它(详细)记录到用户的 Appdata 文件夹。我想增强该行为以将错误记录到事件日志中。我怎样才能做到这一点?请注意,该应用程序的源代码不可用;我只能修改 .config 文件。

这是原始的 .config 文件。它详细记录到 .log 文件:

这是我尝试过的(添加了另一个开关和另一个侦听器。如果我将其开关设置为 Verbose,则会写入 EventLog,但设置为 Error 时不会写入任何内容(即使发生错误):

我怎么能做到这一点?

0 投票
1 回答
387 浏览

c# - 如何从 C# 代码在数据库跟踪侦听器中设置 databaseInstanceName?

这可能是一个简单的问题。有什么方法可以通过编程方式在数据库跟踪侦听器中设置 databaseInstanceName 吗?由于我的应用程序与不同的数据库进行交互(假设在 connectionString 标记中我有 3 个连接字符串指向不同的数据库),所以我需要将异常记录在 db 中但记录到相应的数据库中。我不应该为日志创建一个单独的数据库。

有办法吗?

0 投票
1 回答
914 浏览

c# - 企业库日志记录应用程序块无法写入数据库

在我的应用程序中,我使用企业库日志记录应用程序块将异常记录到 DB。此外,我使用流利的 API 来配置日志记录应用程序块。

我注意到的事情:

  1. 当我没有使用 Fluent API 并且数据库日志记录失败时,它会将异常记录到 Windows 事件日志中。(5.0 版)
  2. 但是当我使用它(Fluent API)时,如果数据库发生故障,它不会在任何地方记录异常,即使在窗口事件日志中也是如此。

我的问题:

  1. 这是企业库日志记录应用程序块的正常行为吗?
  2. 有没有什么方法可以使用流畅的 API 获得没有它的功能,意思是(以防数据库日志记录失败记录到 Windows 事件日志)。

如有任何差异,请随时提出建议。:-)

0 投票
1 回答
1996 浏览

c# - TextWriterTraceListener:我可以通过 app.config 重置/清除输出日志吗?

我查看了TextWriterTraceListener类的属性及其父级,但没有看到向 app.config 添加属性的方法,以便在TraceWriter打开文件时重置/清除日志文件。

0 投票
2 回答
3743 浏览

c# - Log4Net 相对于 TraceListener 有什么优势?

好吧,我是 .net 的新手,我一直在寻找一些可用于 c# 的日志工具。我发现,Apache Foundation 创建的 TraceListener 和 Log4Net,即使在大型项目中也有非常广泛的用途。但这两者之间的主要区别是什么?Log4Net 的优势是什么?在什么情况下我应该使用 Log4Net 以及 TraceListener 在哪里?

包括,Log4Net 和 TraceListener 的缺点是什么?他们的断点是什么?