MTAppenderFile
基于腾讯 Mars xlog 的 *OS 高性能日志组件,用于 MTHawkeye 的性能记录数据持久化。
使用方法
使用 Objective-C API 创建一个 AppenderFile
,
MTAppenderFile *file = [[MTAppenderFile alloc] initWithFileDir:dirName name:fileName];
[file open];
然后使用 appendText:
或 appendUTF8Text:
添加行数据。
[file appendText:@"test line"];
[file appendUTF8Text:"test line"];
详情
每个 AppenderFile
包含两个具有相同文件名但不同扩展名的文件。第一个是以 .mmap2
为扩展名的 mmap 文件,它是高速缓存文件,大小为 150KB。另一个是扩展名为 .mtlog
的文件,当 mmap 文件需要转储时,将日志数据传输到该文件。
例如,如果您创建了一个名为 records 的 AppenderFile
,实际文件是:records.mmap2
和 records.mtlog
。在读取时,需要合并这两个文件,这是完整的记录。
读取存储数据的注意事项
- 需要先读取两个文件:首先是
*.mmap2
,然后是*.mtlog
,然后将内容合并在一起。 - 读取
*.mmap2
文件时,只需要读取非脏数据。当遇到\0\0\0
行时,已读取完整的 mmap 内容,之后的内应为脏数据,应忽略。
贡献
有关提交问题和拉取请求的更多信息,请参阅贡献指南。