应用程序中实现日志记录框架,并且也是 Windows 8.1 的新手这将具有在达到文件的特定大小时追加和滚动的属性。
在Windows 8.1中,我找到了两个选项,但也很少找到有关使用和何时使用的文档和信息。
Microsoft建议使用本构建视频中提到的文件日志记录会话。 http://channel9.msdn.com/Events/Build/2013/3-136
我有几个关于文件日志记录会话的问题
(a) 我已经做了一个 POC,其中日志仅在我调用 closeAndSaveToFileAsync() 时写入磁盘,但这应该是关闭文件的终止/暂停场景调用。即使没有错误或应用程序终止,我也希望有日志。日志何时实际写入磁盘?我需要更多像日志记录会话的保存文件异步()
(b) 提到当达到最大文件大小时。内存中的内容将刷新到磁盘,并调用 LogFileGenerated 事件。我无法弄清楚文件的最大大小是多少。可以以任何方式配置吗?
我发现的第二个选项是使用Metro Log https://github.com/mbrit/MetroLog。虽然没有在我的应用程序中尝试过。但似乎文档和社区支持非常少。
如果有人可以分享他/她登录Windows 8.1应用程序的经验并回答/评论我上面的问题/理解,我将不胜感激。
干杯索拉夫
只是为了回答我的决定。
我决定使用Microsoft提供的FileLoggingSession API。
优点:
-
不要依赖任何其他库/API。
-
Microsoft推荐
缺点:
-
无法配置用于滚动更新的文件大小。
-
每次将日志写入磁盘后,都会创建一个新文件。所以文件数增加。
干杯
索拉夫