管理日志文件大小

时间:2012-05-23 12:48:45

标签: c file logging

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

目前,该程序在Windows环境中运行,但我很快就可以将它移植到UNIX上。

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

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

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

我的问题如下:

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

非常感谢你的帮助,
虚无。

1 个答案:

答案 0 :(得分:1)

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