跟踪调试

时间:2016-06-15 01:32:05

标签: c# rest logging asp.net-web-api2 log4net

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

如何跟踪代码中的标志?我不喜欢这样一个事实,我必须将它传递给每个函数,以决定是否应该记录调试语句。是否可以使用log4net或WebApi2?

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

2 个答案:

答案 0 :(得分:0)

为什么您希望客户端控制服务器上的日志记录级别? log4net 通常通过web.config进行连接,这样您就可以在运行时更改服务器端的日志记录级别。

话虽如此,你真的需要这种级别的粒度吗?如果在DB中保存了某种用户配置文件,那么可能就是存储它的地方。

要严格回答您的问题,更优雅的解决方案可能是使用custom header

答案 1 :(得分:-1)

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