linux中如何限制日志文件大小?
某个程序不断把日志写入到一个文件中,有什么办法可以限制这个文件的大小? 比如,有个a.log 的日志文件不断变大,我要限制其最大为1GB,当超过1GB时,自动将旧的内容覆盖。保证该文件最大大小一直为1GB。请问如何实现? 先用r打开文件后使用file.seek(0, 2)将文件指针指向最后然后使用file.tell()获得当前文件位置,就是文件大小的字节数,然后跟1G大小进行比较,如果超过就关闭文件,以w+方式重新打开就能复写文件 不好意思,回复的晚了。指针这方面都不懂哎,晚上我回去操作试一下{:10_264:} 不过麻烦能讲的稍微详细点吗,具体如何操作之类的? 这个指针操作太高阶,我不是很明白,有劳大神{:10_281:} lumber2388779 发表于 2017-5-8 22:08
先用r打开文件后使用file.seek(0, 2)将文件指针指向最后然后使用file.tell()获得当前文件位置,就是文件大小 ...
不过麻烦能讲的稍微详细点吗,具体如何操作之类的? 这个指针操作太高阶,我不是很明白,有劳大神{:10_297:} dark势力 发表于 2017-5-9 18:22
不过麻烦能讲的稍微详细点吗,具体如何操作之类的? 这个指针操作太高阶,我不是很明白,有劳大神{:10_ ...
- -额 混淆概念了 指针只有C语言才有,就是先用可读方式打开,然后用file.seek(0, 2)这个方法将当前文件位置定位到文件尾部,然后用file.tell()获取当前位置,这个获取回来的位置就是整个文件的字节数,然后就与你要比较的大小,进行判断
建议自己写一下代码更好理解,写完发出来不懂我可以跟你讲一下 lumber2388779 发表于 2017-5-9 21:42
- -额 混淆概念了 指针只有C语言才有,就是先用可读方式打开,然后用file.seek(0, 2)这个方法将当前文件位 ...
用日志切割达到了目的。感觉更方便一点。谢谢大神~ 用linux日志轮替 http://www.vavlv.com/read-1441 可以设定日志的大小,还有日志保存的时间,日志分割多少份
页:
[1]