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

c# - Asp.NET MVC, custom TextWriterTraceListener does not create a file

For MVC application custom listener does not create a log file when initializeData="CustomWeblog.txt" parameter is used, but initializeData="d:\CustomWeblog.txt" triggers file creation. What is the reason of such behaviour? Console application generates files for all types of listeners.

Custom class:

Web.config (mvc application, web.config)

Cutom listener does not create a log file.

Caller:

I have tried to add some extra configuration: from this blog and this one. But there is no success. Should I provide a absolute path? Is there any workaround by creating a separate assembly for custom listener?

0 投票
1 回答
314 浏览

c# - 使用 Unity 注入 System.Diagnostics.Trace

我需要在我的应用程序中注入一个 TraceSource 作为依赖注入。由于 TraceSource 没有实现任何接口,我该如何做到这一点?

0 投票
0 回答
152 浏览

c# - Visual Studio 2013 版本中何时包含 System.Diagnostics.Trace 调用?

在使用 Visual Studio 2013 构建的应用程序中,我未选中 TRACE 常量:

在此处输入图像描述

据我了解,这应该意味着 System.Diagnostics.TraceSource 对象进行的任何调用都不会包含在每个MSDN的编译代码中

例如,未定义 Trace 常量并构建项目时,以下对 TraceInformation() 的调用将不会出现在编译后的代码中:

我多年来一直这样做,从来没有问题。今天,在一个混合的 Asp.Net webforms/mvc 应用程序中,我在一个公共静态类、属性 getter 和 setter 以及函数中添加了跟踪,如下所示:

...并震惊地发现编译代码中的跟踪调用。为什么 Visual Studio 在编译的代码中包含这些跟踪调用?

奇怪的是,问题仅发生在这一类中。该应用程序有数百个跟踪调用(在页面后面的代码中,在引用的项目中,等等),但仅在这一类中,跟踪调用将其放入编译的代码中。

我最初认为这与它是一个公共静态类或具有静态属性 getter 和 setter 有关,但构建一个测试项目很快表明事实并非如此。

我在解决方案中寻找短语“#TRACE”,但它没有在任何地方定义。

即使我在代码模块的顶部包含这些神奇的词:

Visual Studio 仍然在编译的代码中包含跟踪调用。

这是一个古老的、庞大的应用程序。是否有一些隐藏在某处告诉 Visual Studio 2013 有时在编译代码中包含跟踪调用的设置?

0 投票
0 回答
38 浏览

c# - 从代码中查找 TraceSource

我们有一个大型业务应用程序,其中包含多个项目,所有项目都由一个管理项目管理。

在这个管理项目中,我想远程调整某些跟踪源的开关值并使用 DebugView 来查看我的项目中发生了什么。

我知道我可以在不重新启动项目的情况下更改跟踪源的开关值的唯一方法是引用 TraceSource 并分配一个新开关。

使用注册了跟踪源的静态 TraceSourceCollection 类跟踪我的项目中使用的所有跟踪源是一种好习惯,还是有更好的方法。

0 投票
1 回答
533 浏览

c# - TraceSource 在解决方案中的正确用法是什么?

我之前没有使用过 System.Diagnostics.TraceSource 包,所以我想确保我正确地实现它。过去我使用过 NLog(在 log4net 之前),您在配置文件中(或以编程方式)配置设置,并在每个类中声明:

然后根据需要这样的语句:

但是使用 TraceSource,您可以创建一个新的 TraceSource,设置它的属性并分配您的侦听器,然后将您的消息写入它。

我是否为每个类(如 NLog)创建一个 TraceSource 实例?或者我是否每个应用程序都有一个所有类都使用的应用程序?如果是前者,似乎至少我应该将 TraceSource 的创建集中到工厂或其他东西中,以便简化代码,并且每次我需要使用它时我都不必设置设置、侦听器等。这里的正确用法是什么?

注意:由于此代码将如何部署的性质,我无法拥有配置文件,我必须以编程方式完成所有操作。

0 投票
1 回答
263 浏览

c# - 跟踪 ASP.NET 应用程序在生产服务器中不起作用

我需要跟踪我的 MVC 5 应用程序的执行,所以我将它添加到 web.config 文件中:

在代码中,我添加了:

问题是生产服务器中没有任何反应。甚至没有创建日志文件。

奇怪的是,它确实可以在我的开发 PC 中使用,使用 Release 构建。该网站是使用 TRACE 常量 ON 编译的。

生产服务器具有 IIS 8.5,在我的 PC 中使用 IISEXPRESS。这是唯一的区别。

请问有什么帮助吗?

0 投票
2 回答
396 浏览

logging - 将跟踪列表设置为在配置中的程序集中定义的跟踪源

我想要完成的是仅使用配置文件在引用的 .dll 中为 TraceSource 设置 TraceListener。

具体来说,我有一个解决方案机器人,它的 app.config 如下所示:

和一个 ExtendedSource(来自 Ukadc.Diagnostics.dll)初始化如下:

然后我导出 .dll 并将其导入 UI 组件并具有类似的 app.config:

当我运行 UI 组件时,我得到一个空控制台(Console.WriteLine 并且缺少跟踪信息),但是如果我注释掉 RobotModel 的 TraceListener,那么控制台会显示示例跟踪消息(以及 Console.WriteLine信息)。

  1. 我是否需要为 RobotModel TraceListener 指定 .dll 或命名空间
  2. 我知道我可以动态地执行此操作,因为我有一个获取跟踪消息的 winform 组件 TraceListener,但想从 app.config 配置它,假设这是可能的

注意:gui 是 Winforms/Windows 应用程序,而 Robot 类是控制台应用程序。我认为这不会有很大的不同,但也许值得注意。我确实在 Windows 应用程序上手动分配了一个控制台,以便在将其路由到文件之前确保跟踪工作正常。

0 投票
1 回答
1504 浏览

c# - 我可以在 ASP .Net Core 中使用 TraceSource 进行日志记录吗?

TraceSource 可以从System.Diagnostics我的 ASP .NET Core 项目中访问。

在 src 文件中,您可以找到标题:

这是什么意思?.Net Famework >=4.1.1.0 的版本是否可以接受?TraceSource 是否包含在某些版本的 .Net Standard 中?

更新我的解决方案: 它需要配置。

1) app.config 仅适用于 .NET Framework,https://github.com/dotnet/corefx/issues/24829

2) .Net Core 草案:

0 投票
0 回答
33 浏览

vb.net - 如何获取 TraceSource 列表或按名称检索 TraceSource?

我想在代码中动态更改一些跟踪设置。

但是我在第一步就停下来了:如何获取现有的 TraceSource 对象?有没有办法按名称检索 TraceSource?或者获取所有现有 TraceSource 的列表?查看文档,我没有看到任何集合。

寻找一个VB答案。只要它不使用该语言特有的结构,就很高兴能用另一种语言获得一个。