Log4Net 记录不正确的数据
本文关键字:数据 不正确 记录 Log4Net | 更新日期: 2023-09-27 18:36:13
我有一个WCF服务,我使用Log4Net将信息记录到Sql Server数据库。我使用Log4Net的GlobalContext来记录一些额外的信息,如交易名称,状态,消息和其他一些东西。该系统中的一些重要事务是读取,写入和登录。
日志应如下所示:
- "读取"--------"成功"--------"读取 xxx 客户数据"
- "写入"--------"成功"--------"写入 xxx 客户数据"
- "登录"--------"失败"--------"用户会话已存在"。
当我运行正常测试时,一切正常 - 日志完美地写入数据库。但是,最近我使用 JMeter 进行了负载测试。上述三个事务在 100 个并发线程中进行了 3 分钟的测试。当我检查数据库日志时,我发现某些信息记录不正确。
前任:
- "读取"--------"成功"--------"用户会话已存在"。
- "写入"--------"成功"--------"读取 xxx 客户数据"
这是 Log4Net GlobalContext 不是线程安全的问题吗?我尝试使用ThreadContext而不是GlobalContext,但看起来没有记录很多信息。
LogicalThreadContext为我做了这个伎俩!