我想在每个事件的文件末尾添加日志,并在其大小达到255 Mo时创建一个新日志。
例如,当前文件可能是/var/log/foo.2:
/var/log/foo.0.log (full log file)
/var/log/foo.1.log (full log file)
/var/log/foo.2.log
您是否了解C源?
谢谢
答案 0 :(得分:4)
使用
打开文件时File *fopen(const char *filename, const char *mode);
选择“a”作为模式。这将打开或创建一个文本文件,以便在文件末尾写入。
答案 1 :(得分:0)
如果您只想拥有这些功能,请查看log4c。
如果你想知道它是如何工作的,你也可以查看它的代码。
如果您需要专门为您的应用量身定制的代码......
基本上,您需要将fopen
与"a"
选项一起使用,其中a代表追加。
要确定文件的大小,请使用ftell
或其他特定于平台的功能,因为据我所知,C标准中没有文件大小信息方法。或者你走得很远,只需从文件中读取所有字节并计算它们......
答案 2 :(得分:0)