A simplified high-performance log component for *OS base on Tencent Mars xlog, is used in MTHawkeye for performance record data persistance.
Creata a AppenderFile
by using Objective-C
API,
MTAppenderFile *file = [[MTAppenderFile alloc] initWithFileDir:dirName name:fileName];
[file open];
Then use appendText:
or appendUTF8Text:
to append line data.
[file appendText:@"test line"];
[file appendUTF8Text:"test line"];
Each AppenderFile
contains two files with the same file name, and different extensions. The first one is mmap file for high speed cache with the extension .mmap2
, it's size is 150KB. The other file a extension .mtlog
, log data transfered to this file when the mmap file needs to be dumped.
For example, if you create an AppenderFile
whose name is records, the actual files are: records.mmap2
and records.mtlog
. You need to merge the two files when reading, which is the complete records.
Attention for reading stored data:
- Both files need to be read, first
*.mmap2
, then*.mtlog
, and then put the content together. - When reading the
*.mmap2
file, only non-dirty data is needed. when the\0\0\0
line is encountered, the complete content ofmmap
has been read, and the content after that is dirty data, which should be ignored.
For more information about contributing issues or pull requests, see Contributing Guide。