我有一个记录其活动的程序。
我想实现一个日志文件机制,将日志文件保持在一定大小,比如说 10 MB。
日志文件本身只保存程序执行的命令;这些命令的长度是可变的。
现在,该程序在Windows环境中运行,但我可能很快就会将其移植到UNIX上。
我想出了两种管理日志文件的方法:
1.保留多个较小大小的文件,如果新命令超过当前文件长度,请将最旧的文件截断为零大小,然后开始写入。
2. 在文件中保留一个标头,该标头保存有关文件中第一个命令的元数据,以及文件中要写入的下一个位置。另外,我认为每个命令都应该以这种方式保存有关其长度的元数据。
我的问题如下:
- 在效率方面,您将使用哪种方法,为什么?
- 有没有一个 unix 命令/功能很容易?
非常感谢您的帮助,
虚无。
在UNIX/Linux平台上,有一个管理日志文件的logrotate程序。例如,可以在此处找到详细信息:http://linuxcommand.org/man_pages/logrotate8.html