c/c++语言开发共享循环文件记录

我想知道是否有任何C的记录器库,可以进行循环文件记录?

我目前正在查看log4C,但无法找到足够的文档,可以说它将进行循环日志记录。

如果有人这样做了 请让我知道。

谢谢

    这是一个例子

    这是一个减少版本。 我们在调用log_it之前使用vargs并格式化它们。


    typedef const char* c_str; FILE* log_fp = 0; const int max_log_size = 4 * 1024 * 1024; const int max_no = 5; c_str prefix = "logs_"; c_str postfix = ".txt"; void log_it( c_str str ) { char file1[100], file2[100]; if( ! log_fp ) { sprintf( file1 "%s%d%s", prefix, 0, postfix ); log_fp = fopen( file1, "a" ); } if( log_fp ) { if( ftell( log_fp ) > max_log_size ) { fclose( log_fp ); log_fp = 0; for( int i = (max_no - 1); i >= 0; i-- ) { sprintf( file1 "%s%d%s", prefix, i, postfix ); sprintf( file1 "%s%d%s", prefix, i+1, postfix ); rename( file1, file2 ); } sprintf( file1 "%s%d%s", prefix, 0, postfix ); log_fp = fopen( file1, "a" ); } fputs( str, log_fp ); fflush( log_fp ); } } 

    我希望有所帮助。

    戴夫

    你真的确定要循环伐木吗? 我认为滚动日志会更好。

    循环日志记录:登录到log.1然后log.2然后log.3然后log.4然后返回log.1

    滚动日志记录:有四个日志文件,其中log.1始终是最新的,log.2,3,4是较旧的日志条目?

    看来Log4C在这一点上并没有很好的记录。 他们确实指向Log4J页面,其中提到“滚动”日志,这可能是你想要的? 这可能只是术语混淆的问题。

      以上就是c/c++开发分享循环文件记录相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/544708.html

      (0)
      上一篇 2021年1月9日
      下一篇 2021年1月9日

      精彩推荐