c# - 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每次通话。
谢谢
解决方案
如果这是您正在实现的专有日志记录框架,请检查 .NET“反射”库以查找可帮助您处理 CallerMemberName、CurrentThreadContext 等属性的方法。
如果这是更大系统中的一项功能,那么为什么要重新发明轮子。选择已建立的日志框架,例如:NLog 或 Log4Net 等。
推荐阅读
- postgresql - 如何获取远程 pg_dump 版本?
- javascript - 使用带有 Promise 的 Builder
- spring - spring r2dbc 的存储库绑定问题
- r - 返回包中数据集源文档的函数
- android - 为什么新的 Android 功能(Proto DataStore)仍在生成 Java 代码而不是 Kotlin?
- apache-spark - Spark Structed Streaming 从 kafka 读取嵌套的 json 并将其展平
- git - Git rebase 和 squash 在与 master 合并的分支上?
- excel - 无法修改标头信息 - /wp-includes/formatting.php:5716 已发送标头
- computer-vision - 计算从中间层获取的输出的梯度并使用优化器更新权重
- javascript - Vue 登录表单 - 多用户