为什么 postsharp 日志级别只能更改一次

why postsharp log level can only be changed once

我们在 app_start 中使用以下代码通过从 web.config 检索日志级别来动态更改日志级别。

LoggingServices.GetSource(LoggingRoles.Tracing).SetLevel(LogLevel.Debug)); 

构建后,我们将日志级别更改为Error,我们不再看到调试级别信息,但是如果我们将其更改回Debug,我们仍然看不到调试级别信息。如果我们设置初始级别为Error,重建后,我们没有任何调试信息,然后将级别更改为Debug,我们看到调试信息,然后将其更改为Error,我们仍然看到调试信息。日志级别的更改只工作一次。

我能看到的唯一原因是您在日志配置文件中将 AllowDynamicEnabling 属性 设置为 false。参见 http://doc.postsharp.net/log-enabling#optimizing

在其他情况下,您应该能够动态更改详细程度。我们在几个月前修复了一个与此相关的错误,因此请确保您使用的是最新版本。