什么是LoggingSession缓冲区大小?

时间:2015-10-10 06:57:46

标签: logging windows-runtime uwp

我正在使用LoggingSession在通用应用中进行跟踪。 LoggingSession使用内存中的循环缓冲区来缓存消息。 这个缓冲区的大小是多少?可以/应该配置它吗?

通过SaveToFileAsync()创建的.etl文件的最大大小似乎是3KB。 在文件浏览器中删除目录奇怪地显示创建和删除大小为260KB的.etl.tmp文件。

1 个答案:

答案 0 :(得分:1)

LoggingSession使用4个缓冲区。缓冲区大小为64KB或65KB,具体取决于Windows的版本。尺寸不可配置。这个想法是你的程序不断记录它正在做什么的信息。然后,如果发生奇怪的事情(即意外的异常),您可以保存最新的256KB日志并上传它们。

虽然原始缓冲区总计高达256KB或260KB,但如果您没有记录任何事件,它们将大部分为空。 LoggingSession将数据刷新到磁盘,然后通过压缩运行原始数据,这就是最终大小非常小的原因。如果缓冲区中有更多数据,它会更大。