【问题标题】:Fields people capture when logging - log4net人们在记录时捕获的字段 - log4net
【发布时间】:2010-09-18 16:24:56
【问题描述】:

我有兴趣了解人们在使用 log4net 等记录器时在其应用程序中记录时实际捕获和使用的字段。

这可以从调试到测试再到生产,可以用于胖客户端应用程序,但我更多地考虑 Web 应用程序的语义(即 asp.net)。

此外,在 Web 环境中(在一定程度上也适用于胖客户端),我对人们如何为给定请求构建日志整体的层次结构以及如何识别单个请求等感兴趣。

干杯 安东尼

以下是我到目前为止所拍摄的内容:

LogId、ServerName、ServerIP、ApplicationAbbrv、ApplicationVersion、ApplicationAppDomain、LogDateTime、LogTimeStamp、LogLogger、CodeType、CodeClass、CodeFile、CodeLocation、CodeMethod、CodeLine、CodeStackPosition、LogMessage、LogException、LogEntityOrigin、ContextSessionId、ContextUserName、ContextThread、ContextObjectPropertyData、ContextMachineId , ContextMachineIP

【问题讨论】:

  • 只是出于好奇,有人知道我在哪里可以获得可用字段的完整列表吗?

标签: .net asp.net logging log4net


【解决方案1】:

记录所有错误

记录为 警告 已处理但应记录的事件。

除此之外,您希望将多少详细信息记录为信息。您可以将每个进入/退出点记录为信息到方法。就我个人而言,我认为这是对开发人员没有信心的代码的过度杀伤和症状。我会记录处理过程中发生的所有“主要”操作。

【讨论】:

    【解决方案2】:

    为了为请求创建一个“交互堆栈”,我们在用户第一次访问应用程序时在 cookie 中为用户分配一个 sessionid(guid)。然后我们按 sessionid/datetime 排序,看看事件的顺序是什么。

    我们经常记录的另一件事是用户试图操作(插入/删除/更新)的数据(减去 ssn 等敏感数据),因为数据质量似乎是错误的主要来源。

    【讨论】:

    • 嗯...干杯我同意进入/退出是矫枉过正的,虽然我想的是试图建立一个列表的答案。调试:日期、时间戳、用户名、级别、记录器、消息、异常、服务器名、页面名、方法名、类名等正在记录 此外,我对“人们如何为给定请求建立日志整体的层次结构”感兴趣......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多