我想为我当前的项目编写一个带有 XML 输出的 Logger/Bug-Tracker。如果它应该是重复的,我很抱歉,但这些建议没有用,我也没有找到一个好的谷歌解决方案。
1:我的第一个问题是关于异常安全的。
如果我使用 XmlDocument,则日志将存储在内存中,直到我调用保存。这意味着如果发生异常,我可能会失去一切。
如果我使用 XmlWriter 它不会存储在内存中(afaik),但我必须关闭编写器和所有元素/节点,这些元素/节点也可能在出现异常的情况下缺失。我可以关闭并重新打开编写器(使用文档末尾的指针)吗?
创建异常安全的 XML 的最佳解决方案是什么?(我只需要提示)
2:我的第二个问题是关于内存使用的。
因为它是一个跟踪工具,所以输出可能非常巨大。因此我不能使用 XmlDocument。在我看来,XmlWriter 将是最好的解决方案。我说得对吗?
3:我最后一个[小]问题是关于时间消耗的。
使用 XML 文件进行跟踪是好主意还是坏主意?它会减慢我的程序多少?
我希望你能帮助我。
编辑:我为什么要使用 XML ? 稍后,我的应用程序将在“未知”环境中运行,因此我可以通过 Internet 将日志发送到服务器,并且我必须验证文件 (XMLSchema)。完成此操作后,我想将其转换为可读性更好(格式更佳)的 HTML 文件。
正如你所看到的,这是一个比 XML 更好的可视化(这仍然需要一些微调,但它的功能)
编辑 2:当前状态 我已经进行了一些内存使用测量。记录器(目前基于 XmlDocument :( )对于 5.000.000 个条目需要 ~600mb。不是最好的结果,但也不是最差的。
最好的问候亚历克斯