C# · 12月 31, 2021

c# – ASP.NET Web API记录和跟踪

一旦使用了适用于ASP.NET Web API的log4net进行日志记录和跟踪设置,需要记录和/或跟踪哪些特定方面?

我从Web API的角度来看这个问题.有一系列必须记录这个或必须跟踪这一点.
喜欢,INFO跟踪控制器的请求,任何NULL检查等.

是否有可以验证的参考列表,以确保ASP.NET Web API中的最佳日志记录和跟踪覆盖?

解决方法 所以我将假设您的目标是记录应该是调试应用程序,而不是衡量性能.

虽然我认为没有一个“正确”的答案,但至少我总是试图登录

>每个日志行中的时间戳,类/函数名称和线程名称(如果您运行多线程应用程序)

>快速登录线@每个入口点,以及全部内容
通过请求,最好是以一种格式化
更容易为您重新发出同样的要求从提琴手或类似的
工具(这可以通过自定义操作过滤器完成 – see how the
author uses these for performance monitoring a web api app here)

>如果您正在执行任何数据库查询作为您的操作的一部分,请记录
完整的查询sql string如果可能的话(再次让它更容易)
在调试期间重复)以及至少行数

>如果您正在执行任何外部服务调用,请记录两者
请求和响应字符串

>使用try / catch块来记录任何异常(你也可以使用
像ELMAH图书馆这样做自动而不是
比代码中的处理 – link here和here

>运行时解决的任何事情 – 也应该记录配置文件,数据库查询和计算值中的值

我相信这个列表中有更多的缺失 – 毕竟这在应用程序中的做法有所不同.你应该在每一步中问自己 – 我的申请中可能出了什么问题?在调试问题之后,在找到有用的东西之后,我还是那个可怜的人会做什么?