一旦使用了适用于ASP.NET Web API的log4net进行日志记录和跟踪设置,需要记录和/或跟踪哪些特定方面?
我从Web API的角度来看这个问题.有一系列必须记录这个或必须跟踪这一点.
喜欢,INFO跟踪控制器的请求,任何NULL检查等.@H_404_4@
是否有可以验证的参考列表,以确保ASP.NET Web API中的最佳日志记录和跟踪覆盖?@H_404_4@
解决方法
所以我将假设您的目标是记录应该是调试应用程序,而不是衡量性能.
虽然我认为没有一个“正确”的答案,但至少我总是试图登录@H_404_4@
>每个日志行中的时间戳,类/函数名称和线程名称(如果您运行多线程应用程序)@H_404_4@
>快速登录线@每个入口点,以及全部内容
通过请求,最好是以一种格式化
更容易为您重新发出同样的要求从提琴手或类似的
工具(这可以通过自定义操作过滤器完成 – see how the
author uses these for performance monitoring a web api app here)@H_404_4@
>如果您正在执行任何数据库查询作为您的操作的一部分,请记录
完整的查询sql string如果可能的话(再次让它更容易)
在调试期间重复)以及至少行数
回@H_404_4@
>如果您正在执行任何外部服务调用,请记录两者
请求和响应字符串@H_404_4@
>使用try / catch块来记录任何异常(你也可以使用
像ELMAH图书馆这样做自动而不是
比代码中的处理 – link here和here@H_404_4@
>运行时解决的任何事情 – 也应该记录配置文件,数据库查询和计算值中的值@H_404_4@
我相信这个列表中有更多的缺失 – 毕竟这在应用程序中的做法有所不同.你应该在每一步中问自己 – 我的申请中可能出了什么问题?在调试问题之后,在找到有用的东西之后,我还是那个可怜的人会做什么?@H_404_4@