我有一个记录其活动的程序。
我想实现一个日志文件机制,将日志文件保持在一定的大小,比如说 10 MB。
日志文件本身只保存程序执行的命令;这些命令是可变长度的。
目前,该程序在 Windows 环境下运行,但我可能很快会将其移植到 UNIX。
我想出了两种管理日志文件的方法:
1.保留多个较小大小的文件,如果新命令超过当前文件长度,则将最旧的文件截断为零大小,然后从那里开始写入。
2.在文件中保留一个标头,其中包含有关文件中第一个命令的元数据,以及文件中要写入的下一个位置。我还认为,每个命令都应该以这种方式保存有关其长度的元数据。
我的问题如下:
- 就效率而言,您会使用哪种方法,为什么?
- 是否有一个unix命令/功能很容易?
非常感谢你的帮助,
尼希尔。