log4net
log4net 的 MDC、NDC、ThreadContext 和 LogicalThreadContext
2020-02-15 16:16

背景

在日志记录时,我们往往希望体现出一条清晰的操作线索,先执行了A,然后执行了B,接着执行C……但在 Web 项目中,往往同时处理着多个不同客户端发出的请求,如果这些请求都在进行相同的操作,我们的日志将无法分辨。项目中使用的日志框架是 log4net,过去,我在项目中通过 AutoFac 创建了一个生命周期为 PreRequest 的对象,内部维护了一个 GUID,用来充当 RequestId。这样在记录日志时将该 RequestId 一同记录上,就解决了该问题。

后来领导给其他小组提到了 log4net 的 MDC,希望我们也进行调整,大概意思是可以用 MDC 储存 RequestId 并能方便的生成到日志中。本文记录了这次修改的过程。

阅读全文
Load more
May 2025
Su
Mo
Tu
We
Th
Fr
Sa
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
快速入门ASP.NET.NET CoreIPv6K3sKubernetesNuxt.jsRazor PagesVue前端开发服务器端开发树莓派软件推荐配置DebianDockerJavaScriptLinuxNginxPrometheus 查看全部
An unhandled error has occurred. Reload 🗙