使用log4net时如何获取日志的id

时间:2017-04-28 05:05:03

标签: log4net

我使用的是log4net,日志看起来像这样。非常标准的东西。

enter image description here

现在我想在记录事件后获取id,以便在出现错误时将其传递给我的应用程序的用户。

以下总是给我id1和id2的null。

var id1 = LogicalThreadContext.Properties["Id"];
var id2 = GlobalContext.Properties["Id"];

那么如何获取日志的id?

1 个答案:

答案 0 :(得分:2)

我怀疑使用内置的AdoNetAppender是不可能的。 https://logging.apache.org/log4net/release/config-examples.html#MS%20SQL%20Server处的说明将ID设置为标识列。

这意味着在记录实际写入数据库并且记录事件后可能需要很长时间的缓冲时才会知道ID。

您可以创建自己的appender,但可能更容易添加一个额外的列供您自己参考,并可能在记录之前将其设置为新的Guid。