使用log4net时如何获取日志的id
How to get the id of the log when using log4net
我正在使用 log4net,日志如下所示。相当标准的东西。
现在我想在记录事件后获取 ID,以便在出现错误时将其传递给我的应用程序的用户。
下面总是给我空的 id1 和 id2。
var id1 = LogicalThreadContext.Properties["Id"];
var id2 = GlobalContext.Properties["Id"];
那么如何获取日志的id呢?
我怀疑使用内置的 AdoNetAppender 不可能做到这一点。 https://logging.apache.org/log4net/release/config-examples.html#MS%20SQL%20Server 处的说明谈到将 ID 设置为标识列。
这意味着直到将记录实际写入数据库并且在您记录事件后可能需要很长时间才能进行缓冲,才能知道 ID。
您可以创建自己的 appender,但仅添加一个额外的列供您自己参考并可能在记录之前将其设置为新的 Guid 可能更容易。
我正在使用 log4net,日志如下所示。相当标准的东西。
现在我想在记录事件后获取 ID,以便在出现错误时将其传递给我的应用程序的用户。
下面总是给我空的 id1 和 id2。
var id1 = LogicalThreadContext.Properties["Id"];
var id2 = GlobalContext.Properties["Id"];
那么如何获取日志的id呢?
我怀疑使用内置的 AdoNetAppender 不可能做到这一点。 https://logging.apache.org/log4net/release/config-examples.html#MS%20SQL%20Server 处的说明谈到将 ID 设置为标识列。
这意味着直到将记录实际写入数据库并且在您记录事件后可能需要很长时间才能进行缓冲,才能知道 ID。
您可以创建自己的 appender,但仅添加一个额外的列供您自己参考并可能在记录之前将其设置为新的 Guid 可能更容易。