首页 > 解决方案 > C# 记录“线程”上下文

问题描述

我正在尝试记录数据,但我想有一种方法来“分组”日志,以便查看为特定实例\用户调用的代码。例如,如果我有多个类和方法:

DateTime  UniqueId  Method  Class  Data
{date}    {111}     M1      C1     Input = {...}
{date}    {999}     M1      C1     Input = {...}
{date}    {999}     M2      C2     Input = {...}
{date}    {111}     M2      C2     Input = {...}

最重要的方面是 uniqueId。如果我有 100 行,并且知道 uniqueId = 111 的用户有问题,我只想过滤 UniqueId = 111 的日志。换句话说,我想添加 UniqueId 的唯一上下文,或者说一个 threadId每次通话。

谢谢

标签: c#logging

解决方案


如果这是您正在实现的专有日志记录框架,请检查 .NET“反射”库以查找可帮助您处理 CallerMemberName、CurrentThreadContext 等属性的方法。

如果这是更大系统中的一项功能,那么为什么要重新发明轮子。选择已建立的日志框架,例如:NLog 或 Log4Net 等。


推荐阅读