我有兴趣了解人们在使用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
答案 0 :(得分:2)
为了为请求创建“交互堆栈”,我们在第一次访问应用程序时在cookie中为用户分配一个sessionid(guid)。然后我们按sessionid / datetime排序,看看事件的顺序是什么。
我们总是记录的另一件事是用户试图操纵(插入/删除/更新)的数据(减去像ssn这样的敏感数据),因为数据质量似乎是错误的主要来源。
答案 1 :(得分:1)
记录错误的所有内容。
记录为已处理但应记录的警告事件。
除此之外,您需要将多少详细信息记录为信息。您可以将每个进入/退出点的信息记录到方法中。就我个人而言,我认为那些开发人员对自己没有信心的代码是过度的和有症状的。我会记录处理过程中发生的所有“主要”操作。