问题标签 [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.
c# - 以编程方式添加时引用库中的 TraceSource 未记录
这是我的 Winforms 应用程序中的配置文件。目前它已将 MyTraceSource 注释掉,如果我取消注释并运行我的程序,它会按预期工作。我从我引用的库中获得输出到我的控制台。MyTraceSource 是一个 Trace 源,它在我的引用库中实例化并使用,我将其称为 MyOposServiceObject。您会注意到我在我的 Logger.cs 文件中设置了另一个 TraceSource,名为 TestApplication。该跟踪源是我在测试应用程序中使用的日志记录(多么合乎逻辑的名称......)只是为了让我清楚在 2 个不同的项目中实例化并使用了 2 个跟踪源。一个是类库,另一个是winforms应用程序。如果我将我的 winforms 应用程序编译为控制台程序并在应用程序中取消注释我的 TraceSource。配置文件我从 MyOposServiceObject 记录到控制台。清如泥???确定一些代码。
应用程序配置
但是,我不希望我的程序成为控制台程序,所以我制作了一个自定义 TraceListener。
MyTraceListener.cs
我是这样接线的
记录器.cs
nowtrace
在这个应用程序中使用,它的输出确实进入了我的小调试窗口。但我从 opos 什么也没得到。我究竟做错了什么?
common.logging - 将 TraceSource 与 Common.Logging 一起使用的示例
我读过这个问题,我知道它可能: Common.Logging for TraceSource
有人可以发布一个例子。如果可以将其配置为在代码中使用 TraceSource 而不是使用 .config 文件,这也可能会有所帮助。
谢谢
c# - 跟踪来自同一应用程序的不同日志文件
首先是一些有关情况的背景信息。我有一个主应用程序(我们称之为核心)和一些次要应用程序(我们称之为核心作业)。Core 的主要工作是确保每个给定的 Core 作业都按照所述作业的时间表运行。这一切都是在 .NET C# 中开发的
我想创建一个环境,每个核心作业都可以将信息跟踪到不同的日志文件。我考虑使用简单的文件流,但我相信必须有一个更优雅的解决方案。
在我看来,我也许可以使用内置TraceSource
和监听器。我TextWriterTraceListener
为每项工作制作了一个并开始追踪。结果:每个作业都将信息跟踪到每个侦听器。
回到绘图板。我对它进行了更多研究,现在可以看到我的第一种方法是多么愚蠢。我现在为每个工作制作了一个来源,并为每个来源制作了一个监听器。在代码中,我指定了我想追踪的来源。但收效甚微:(
来自 app.config 的片段:
代码片段:
我也尝试过让共享听众成为可能,但没有帮助。并不奇怪,因为据我所知,共享听众的目的是让更多来源共享同一个听众。
在一些论坛上,人们一直在谈论 log4net——这能解决我的问题吗?我完全没有经验。
我想知道的是:我的问题是否有一个优雅的解决方案?是否可以使用跟踪源和侦听器解决我的问题?
c# - 自定义 TraceSource 以避免创建 TraceEventCache
我的项目有很多课程。每个类都使用 TraceSource 进行日志记录。我不想在记录时使用 TraceEventCache。基本上它的答案是我们可以告诉listner不要使用TraceOptions(CallStack,ProcessID等)编写TraceEventCache。这意味着 TraceSource 已经拥有 TraceEventCache。所以我的问题是 TraceSource 类的 TraceData 和 TraceEvent 方法是否为每次调用创建 TraceEventCache ?或者只是框架每个线程创建的单个对象,并且仅在 TraceSource 类中使用。
c# - 从 xml 文件加载 System.Diagnostics.TraceSource 的配置
在 log4net 中,可以选择app.config
从 .xml 文件或任意 xml 文件加载配置。
是否可以System.Diagnostics.TraceSource
从任意 xml 文件加载配置?
c# - 使用类库中的 TraceSource 并在同一可执行文件的其他组件中使用它
我使用 system.Diagnostics 创建了一个用于事件记录实用程序的库,如下所示:
我想在我的应用程序和同一应用程序的其他组件 (dll) 中使用此日志功能。我尝试在我的应用程序的 app.config 中声明侦听器,但它不起作用:(。我的 app.config 如下所示:
如果我使用给定的清单文件在应用程序本身(可执行文件)中移动类 Logger,我可以在 eventviewer 中看到应用程序中的日志。但我不想以这种方式使用它。
有人可以帮我找出这里的根本问题吗?
c# - 为 C# 库定义 TraceSource 日志记录配置
我正在开发几个库,并计划使用 TraceSource 在其中实现一些诊断跟踪。我还希望允许用户附加/配置他们自己的监听器、开关、过滤器等。
由于库不附带配置文件,是否有任何现有的模式可以巧妙地完成这一点?
我一直在考虑以下问题:拥有一个库附带的 logging.config 文件,并展示我的库使用但不包含任何侦听器的源。接下来,在我的库中,我将从用户的 logging.config 和 app.config 中读取,并使用 app.config 文件中定义的任何侦听器覆盖 logging.config。这听起来像一个好的模式吗?
c# - TraceSource 是否应该使用“if”语句来保护?
在跟踪到 TraceSource 之前,是否应该在发出跟踪之前检查“跟踪级别”?
虽然有SourceSwitch.ShouldTrace(TraceEventType)
,但文档表明
应用程序代码不应调用此方法;它旨在仅由 TraceSource 类中的方法调用。
似乎 pre-TraceSource 模型使用了TraceSwitch(不是 SourceSwitch)类,该类具有各种TraceXYZ
方法(为此目的?),但 TraceSource 模型似乎不需要/使用/提及这些方法。
(在 trace 方法之外设置守卫会影响对调用中/用于调用的表达式的评估 - 当然,副作用或计算成本高昂的操作是“糟糕的”和“不明智的”,但我仍然希望专注于主要问题。)
system.diagnostics - TraceSource 和 TraceListener 悄悄地什么都不做
当 System.Diagnostics 跟踪完全没有做任何事情时,如何对其进行故障排除?
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"/>
为什么会这样?