问题标签 [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 投票
4 回答
4818 浏览

c# - 向所有 TraceSources 添加/删除 TraceListener

我正在寻找一种为所有现有 TraceSources 添加和删除 TraceListener 的方法。

(我不确定我的方法在这里是否正确,我还可以使用哪些其他方法?基本上我想将所有跟踪输出记录到使用当前项目名称作为文件名的文件中。每当用户创建或重新打开项目时,我想将日志附加到正确的文件。一次只能打开一个项目。)

代码示例:

我在我的应用程序中创建了几个 TraceSource,每个类一个

我现在想在运行时向我的所有 traceSources 添加或删除一个 traceListener,如下所示:

到目前为止,如果不公开我所有的 traceSources(似乎是个坏主意),然后像这样列出我的所有类,我发现没有办法做到这一点:

这在几个层面上似乎是一个糟糕的设计选择。

或者

将我所有的 TraceSources 添加到每个类的构造函数中的自定义全局集合中(容易忘记/搞砸;全局变量不好)

有没有更好的办法?基本上我正在寻找一种方法来设置另一个默认监听器

0 投票
2 回答
793 浏览

c# - 如何监控console.out?

如果我看到一些关键词出现在Console.Out. 这是因为我们使用了第三方 DLL,它有一个问题,即当它遇到某些特定异常时它永远不会退出。

对我们来说唯一的不满似乎是监视填充回的日志console.Out。并且基于登录console.out,主机应用程序可以决定遇到此类异常时要做什么。

有人告诉我,我可以使用跟踪侦听器......但我不确定。你们有什么感想?

0 投票
2 回答
1858 浏览

visual-studio-2010 - 防止输出窗口中的第一次机会异常

在 Visual Studio 2010 中,是否可以防止首次机会异常写入输出窗口?我们有一个场景,有很多强制转换设计失败,并且输出窗口在调试时确实减慢了应用程序的速度。写出“System.InvalidCastException”类型的第一次机会异常发生......一遍又一遍只需要很长时间。Visual Studio 中的控制台并不快 :<)

我知道不中断第一次机会异常的选项,但这似乎不会影响输出窗口。也没有把它放在让我们慢下来的领域之前:

关闭输出窗口也无济于事。虽然它在发布模式下运行得非常快。

任何帮助表示赞赏!

0 投票
1 回答
169 浏览

c# - 将 StdError 流镜像到日志文件

我希望能够将我的应用程序的所有控制台输出记录到文本文件中。我已经实现了 ConsoleTraceListener 和 TextWriterTraceListener,如以下帖子中所述:将 控制台输出镜像到文件

这适用于所有正常的控制台输出。但是,我还希望 StdError 流显示在日志文件中。我用一些最终抛出 DivideByZeroException 的简单代码进行了测试(代码如下所示)。使用上面帖子中建议的实现,错误消息会显示在控制台中,但不会显示在日志文件中。

有没有人对如何实现这一点有建议?请注意,我不希望重定向 Stderror 流。理想情况下,错误消息将同时显示在控制台和日志文件中。

在此先感谢您的任何建议!

0 投票
1 回答
3603 浏览

c# - log4net 的 LogManager.GetLogger() 在自定义 TraceListener 中使用时抛出 NullReferenceException

我正在尝试将大型应用程序从使用Trace类转换为通过log4net. 因此,我编写了一个自定义TraceListener来将输出重定向到 log4net 的消息中(受这篇文章的启发)。

控制台应用解决方案是三个项目:

  1. RunShipOrder - 作为应用程序入口点的控制台项目
  2. ShipOrderAPI - 一个包含与此流程相关的所有代码的类库项目
  3. CodeLibrary - 一个包含许多项目通用代码的类库项目。
    • Log4netTraceListener 在这个项目中

RunShipOrder项目内部,我可以调用LogManager.GetLogger("Log4netTraceListener"),它按预期工作。但是,如果我尝试对其调用方法,Trace则会引发异常。我已将其追溯到LogManager.GetLogger("Log4netTraceListener")对类内部的初始调用Log4netTraceListener

抛出的异常是ConfigurationErrorsException,内部异常为TypeInitializationException,内部异常为NullReferenceException。最里面的异常的堆栈跟踪是:

关于从 log4net 代码库中可能引发此异常的任何想法?

0 投票
2 回答
2508 浏览

c# - 加载跟踪侦听器属性

所以我有一个自定义跟踪监听器,它的生命是这样开始的:

http://www.codeproject.com/Articles/30956/A-Rolling-XmlWriterTraceListener

我已将其修改为更像 Log4Net RollingFileAppender (请参阅: http: //logging.apache.org/log4net/release/sdk/log4net.Appender.RollingFileAppender.html

当我运行代码时,我发现它没有从配置文件中的自定义属性中设置属性/字段值。

在运行时分析对象会发现 Attributes 属性 (this.Attributes) 不包含任何内容。

任何想法我将如何解决这个问题?

我应该手动填充这些还是什么?

好的,这是一个代码示例:

在 LoadAttributes 方法中,我然后做......

问题是“属性”从不包含任何内容。此类使用包含属性的配置信息从框架代码实例化...

编辑2:

XmlWriterTraceListener 类是 .Net 的一部分,通过使我的基类继承 Attributes 属性。

在配置中,我应该能够指定任何属性,然后在代码中执行类似...

...但由于某种原因,这会返回 null (该属性不在集合中)。

0 投票
2 回答
7563 浏览

c# - 有没有办法在 C# 中捕获调试消息,然后将它们输出到单独的窗口?

我已经花了 3 天的时间查找这个,但我找不到可靠的答案。我想捕获调试消息并将它们输出到列表日志。我正在尝试在 C# 中执行此操作。希望社区提供一些帮助,为我指明正确的方向。

0 投票
1 回答
1635 浏览

c# - 如何以编程方式添加 RollingFlatFileTraceListenerData

我有一个配置文件,例如:

除了我拥有的控制台侦听器之外,我还想以编程方式定义一个 RollingFlatFileTraceListenerData:

如何以编程方式将新定义的侦听器添加到侦听器列表中?

0 投票
1 回答
1065 浏览

azure - 如何动态/以编程方式设置企业库数据库跟踪侦听器连接字符串

有没有办法动态/以编程方式设置 EntLib 5 数据库跟踪侦听器使用的连接字符串?

我在 Windows Azure 中托管我的 WCF 服务,这意味着一旦部署了 web.config,我将无法访问它。为了消除每当我想将数据库跟踪侦听器指向不同的数据库时重新部署我的解决方案的需要,我希望有一种方法可以从我的服务配置文件中提取该设置并动态设置它。

0 投票
1 回答
6779 浏览

c# - 将跟踪侦听器附加到 app.config 中的现有跟踪源

我在我的代码中创建了一个具有特定名称的跟踪源,然后我想使用 app.config 中的部分在运行时将侦听器附加到它。

这是我的 app.config:

我可以看到代码中正在生成消息

但日志文件中没有任何内容(甚至没有创建)。当我设置断点并查看时this.TraceSource.Listeners,它是空的。

知道我在这里做错了什么,或者关于调试这类事情的任何提示吗?甚至可以将新的侦听器附加到这样的现有源吗?

我也尝试了以下但没有成功: