gpt4 book ai didi

.net - 如何配置 Microsoft Enterprise Library Logging Application Block 来处理任何日志类别?

转载 作者:行者123 更新时间:2023-12-04 23:30:42 24 4
gpt4 key购买 nike

我正在尝试使用 Common Infrastructure Libraries for .NET (Common.Logging) 与 Enterprise Library 4.1 的日志记录应用程序块。根据docs ,这是支持的。

我遇到的问题是,当我尝试记录一些东西时,就像这样(在这个例子中,我在一个 ASP.NET MVC 应用程序中):

public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";

ILog log = LogManager.GetCurrentClassLogger();
log.Info("Hello world!");

return View();
}

我没有收到日志消息,而是在我的事件日志中收到一个错误:

Message: There is no explicit mapping for the categories 'TestApp.Controllers.HomeController'.



好吧,Common.Logging 中似乎没有任何选项来设置默认类别,我无法弄清楚如何配置 LoggingConfiguration 以接受任何类别,即使它没有定义。

这是我的 LoggingConfiguration 的一个片段:
<loggingConfiguration name="Logging Application Block" tracingEnabled="true"
defaultCategory="General" logWarningsWhenNoCategoriesMatch="true">
...
<categorySources>
<add switchValue="All" name="General">
<listeners>
<add name="Formatted EventLog TraceListener" />
<add name="Email TraceListener" />
</listeners>
</add>
</categorySources>
<specialSources>
<allEvents switchValue="All" name="All Events" />
<notProcessed switchValue="All" name="Unprocessed Category" />
<errors switchValue="All" name="Logging Errors &amp; Warnings">
<listeners>
<add name="Formatted EventLog TraceListener" />
</listeners>
</errors>
</specialSources>
</loggingConfiguration>

我试过设置 logWarningsWhenNoCategoriesMatch为false,但这只会使警告静音-它不会使日志记录工作。

我也试过摆脱 <notProcessed switchValue="All" .../>特殊来源,但这似乎也没有任何影响。

有谁知道是否有办法让这个工作?谢谢!

最佳答案

'notProcessed' 特殊源将匹配与类别源不匹配的任何条目 - 因此您可以使用它来捕获它们。这里有更多信息:https://entlib.codeplex.com/discussions/215189

<notProcessed switchValue="All" name="Unprocessed Category"/>
<listeners>
<add name="Rolling Flat File Trace Listener Unprocessed"/>
</listeners>
</notProcessed>

关于.net - 如何配置 Microsoft Enterprise Library Logging Application Block 来处理任何日志类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5366592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com