如果我有一个将日志文件写入文件系统的应用程序,我后来希望能够将这些日志转储到RDBMS中,以便能够更容易地查询特定项目(例如,我想查询与之相关的所有日志)事务ID X,不仅仅是日志级别为INFO或某个日期的查询。
什么是格式化日志消息的可靠方式,以便能够轻松地将其放入RDBMS中以允许将来我实际记录的内容发生更改(添加更多内容)?
答案 0 :(得分:0)
将日志条目的属性编码为名称 - 值对。您需要选择值部分的分隔符;也就是说,它需要是不会出现在值本身中的东西。
日志条目的一些属性,如果您还没有考虑过问题的那一部分:
还要考虑:
这是与您的分隔符选择竞争的自由文本属性。
玩具示例日志条目,使用双括号作为分隔符:
timemstamp=[[24-Apr-2012 15:48:28.749]] severity=[[error]] location=[[Foo.java (45)]] transaction=[[48241]] free=[[Cannot open file 'zqx3.txt']]
您的问题未使用实施语言标记。在Java land中,log4j是一个流行的日志记录框架。我相信.NET有合适的端口或工作方式。