日志记录子系统将日志写入xml文件。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<log version="1.0">
<message time="2011-04-11 17:10:10.0020" class="info">
la la la la..
</message>
我认为在登录文件中写入可能会崩溃。结果xml日志文件可能包含错误的xml数据字符串
例如
<message ti
是否存在从错误的数据部分清除xml文件的便捷方法,除了使用regexp?
upd:错误的数据部分不仅可以在文件中间出现,而且最终也会出现。
答案 0 :(得分:3)
这是不使用XML作为日志记录格式的一个很好的理由。即使没有崩溃,日志仍然是从不格式良好的XML,因为您永远不会关闭根标记。
至于如何清洁它?假设您只获得截断的文件,请在文件中读取,查找最后一个"</message>"
,截断那里,添加"</log>"
,并尝试解析它。