Configuration 系统.诊断跟踪不适用于通过autofac.config添加的模块

Configuration 系统.诊断跟踪不适用于通过autofac.config添加的模块,configuration,autofac,trace,system.diagnostics,Configuration,Autofac,Trace,System.diagnostics,我需要有关Autofac.配置扩展的帮助 我们使用Autofac和Autofac.Configuration将所有依赖项添加到我们的程序中。此外,我们还使用system.Diagnostics跟踪来记录方法调用等(通常) 现在,我们最近才开始使用Autofac.Configuration扩展。在此之前,所有消息都会按预期写入输出文件。但是,仅通过配置文件添加的每个类都不会被记录。(它们通常工作正常,只是日志记录不起作用!) 这是我们的配置文件的外观: "components": [

我需要有关Autofac.配置扩展的帮助

我们使用Autofac和Autofac.Configuration将所有依赖项添加到我们的程序中。此外,我们还使用system.Diagnostics跟踪来记录方法调用等(通常)

现在,我们最近才开始使用Autofac.Configuration扩展。在此之前,所有消息都会按预期写入输出文件。但是,仅通过配置文件添加的每个类都不会被记录。(它们通常工作正常,只是日志记录不起作用!)

这是我们的配置文件的外观:

  "components": [
    {
      "type": "MyClass, MyAssembly",
      "services": [
        {
          "type": "MyInterface, MyInterfaceAssembly"
        }
      ],
      "instanceScope": "singleinstance"
    },...
这就是我们的跟踪程序调用的样子:

private static readonly TraceSource Tracer = new TraceSource("MyCustomName", SourceLevels.Error);

...

Tracer.TraceInformation($"SomeMessage {someInput}");

有人知道我做错了什么吗?或者这是Autofac.Configuration扩展中的一个bug?

Autofac.Configuration对跟踪没有任何作用。如果你在那里连追踪的参考都没有

我猜是发生了别的事情。我会在你的鞋子里看到的东西:

  • 转换为配置时出错:我是否忘记注册以前注册的类?我是否注册了所有相同的参数和所有以前的代码?有什么不同的或者我可能错过的吗
  • 不相关的更改:在转换为使用配置时,我是否做了其他操作?还有其他重构吗?我是否从主分支拉入任务分支,并从其他可能影响我的人那里获得更改

不幸的是,你这样做,没有任何人可以真正帮助这里的故障排除。但是,我可以100%保证跟踪不会因为Autofac.Configuration模块中的任何错误而失败。这将是另外一件事——要么是您创建的JSON配置中的错误,要么是发生了其他一些不相关的更改。

感谢您的反馈!我也查看了源代码,也没有看到任何与跟踪相关的内容,因此感谢您的确认。:)正如您所建议的,我做了更多的测试,发现我们在“大项目”中所做的配置/设置在较小的测试版本中突然可以正常工作。所以,是的,我仍然不知道是什么导致了这个问题,但我想我离这个问题越来越近了。感谢您确认这不是autfac.configuration的错误!那真是一大解脱!如果你能接受我的回答,我将不胜感激。这就是你在StackOverflow上给人们答案的“报酬”——如果答案是正确的并且有帮助,那么接受答案,这样回答者就得到了信任。