0

我有一个记录其活动的程序。
我想实现一个日志文件机制,将日志文件保持在一定的大小,比如说 10 MB。
日志文件本身只保存程序执行的命令;这些命令是可变长度的。

目前,该程序在 Windows 环境下运行,但我可能很快会将其移植到 UNIX。

我想出了两种管理日志文件的方法:

1.保留多个较小大小的文件,如果新命令超过当前文件长度,则将最旧的文件截断为零大小,然后从那里开始写入。

2.在文件中保留一个标头,其中包含有关文件中第一个命令的元数据,以及文件中要写入的下一个位置。我还认为,每个命令都应该以这种方式保存有关其长度的元数据。

我的问题如下:

  • 就效率而言,您会使用哪种方法,为什么?
  • 是否有一个unix命令/功能很容易?

非常感谢你的帮助,
尼希尔。

4

1 回答 1

1

在 UNIX/Linux 平台上,有一个管理日志文件的 logrotate 程序。例如,可以在这里找到详细信息:http: //linuxcommand.org/man_pages/logrotate8.html

于 2012-05-23T13:18:12.927 回答