我在网络应用中使用log4net,并将所有页面错误记录到SQL服务器。我想知道是否有任何方法可以检索由它生成的条目ID。我要摘下这里的文件
http://logging.apache.org/log4net/release/config-examples.html
我想将此ID用作我可以向客户展示的参考号,以便他们可以联系客户支持人员在系统中查找,而不必查看日志文件。
答案 0 :(得分:4)
除了编写自己的appender,因为floyddotnet建议你可以考虑:
编写一个返回ID的appender会在你通常没有的应用程序和appender之间创建一个依赖关系:Log4net的设计在某处记录和写入日志消息之间有明确的区别。你需要的追加器会影响这种分离。
答案 1 :(得分:1)
由于ID是由数据库而不是log4net生成的,因此我不相信您可以使用此信息。
我在使用log4net进行此类条件时所做的是在消息中包含一个日期时间戳,该时间戳下降到毫秒并将其作为参考号提供给用户。然后,您可以执行简单的SQL查询以获取日志表中的消息。
答案 2 :(得分:0)
我不确定它是否可行,但您可以编写自己的Appender for log4net,将此信息存储在log4net上下文中。
如何为log4net写一个appender:
http://www.alteridem.net/2008/01/10/writing-an-appender-for-log4net/
<强>上下文描述:强>
http://logging.apache.org/log4net/release/manual/contexts.html