我也将std :: clog重定向到这样的文件:
int main() { std::ofstream logfile(config::logname,std::ios::app); std::streambuf *const old_buffer = std::clog.rdbuf(logfile.rdbuf()); // .. the guts of the application std::clog.rdbuf(old_buffer);}
这很好用……但是,我的应用程序也生成了大量的日志.我想知道什么是正确旋转我的日志文件的好方法.是否有通过cron任务切换文件的安全方法?我猜不会.
我唯一能想到的就是如果我让应用程序本身打开一个新文件,并在保存日志记录互斥锁的同时将clog的rdbuf重定向到该文件.但这感觉就像一个廉价的解决方案,我需要检查一下,看看是时候经常轮换日志以使其有效.必须有一个更好的方法.
解决方法 您可以使用/etc/logrotate.conf和/或/etc/logrotate.d/中配置的内置日志轮换方法 – 通常会让logrotate向您的应用发送SIGUSR1作为信号以关闭并重新打开所有日志文件. 总结以上是内存溢出为你收集整理的Linux / c日志轮换方案全部内容,希望文章能够帮你解决Linux / c日志轮换方案所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)