跟踪调试



我有一个解决方案,用户可以向带有标志DEBUG的WebApi2发送请求。如果设置了该标志,WebApi2 将记录调试语句(使用 log4net)。

如何跟踪代码中的标志?我不喜欢我必须将其传递给每个函数才能决定是否应该记录调试语句的事实。有没有办法使用 log4net 或 WebApi2?

像会话这样的东西会很好,但这与 RESTful 设计原则相反。我想知道是否有一个优雅的解决方案。

为什么您希望客户端控制服务器上的日志记录级别? log4net 通常通过 web.config 连接起来,因此您可以在服务器端和动态更改日志记录级别。

话虽如此,您真的需要这种粒度级别吗?如果数据库中保存了某种用户配置文件,则可能是存储此配置文件的位置。

为了严格回答您的问题,更优雅的解决方案可能是使用自定义标头。

我使用了ThreadContext.Stacks["Debug"]。Push("True")解决了我的问题。

最新更新