ASP.NET Web API日志记录和跟踪

时间:2013-11-01 18:34:33

标签: c# logging asp.net-web-api log4net tracing

一旦使用适用于ASP.NET Web API的log4net进行日志记录和跟踪设置,需要记录和/或跟踪的具体方面是什么?

我从Web API的角度来看这个问题。是否有一系列必须记录此必须跟踪此。 比如,INFO跟踪控制器的请求,任何NULL检查等等。

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

3 个答案:

答案 0 :(得分:11)

因此,我将假设您的日志记录目标应该是调试应用程序而不是衡量性能。

虽然我认为对此没有“正确”的答案,但我至少会尝试记录

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

  • 快速记录每个入口点的日志,以及完整的内容     传入的请求,最好采用可以制作它的格式     您更容易从提琴手或类似的人那里重新发出相同的请求     工具(可以通过自定义操作过滤器完成 - see how the author uses these for performance monitoring a web api app here

  • 如果您正在执行任何数据库查询,请记录     如果可能的话,完整的查询sql字符串(再次使其更容易     在调试期间重复)以及至少行数#     返回

  • 如果您正在进行任何外部服务呼叫,请记录全部     请求和响应字符串

  • 使用try / catch块记录任何异常(您也可以使用     像ELMAH库这样的东西可以自动完成     而不是代码处理 - link herehere

  • 在运行时解决的任何问题 - 也应记录配置文件,数据库查询,计算值中的值

    我确信此列表中还有更多内容 - 毕竟这与您在应用中的操作有所不同。你应该在每一步都问自己 - 我的申请中可能出现什么问题?在调试问题后,我或者在我之后会对此有用的什么事情会发现有用吗?

  • 答案 1 :(得分:0)

    答案 2 :(得分:0)

    要记录服务代码的其他类别的项目,该服务代码实现授权身份验证和模拟,其中需要提升访问权限。这些应该是可配置的,以记录成功失败或两者兼而有之。