glog保留指定文件个数相关总结

相关需要总结的点:

  • 采用multimap进行扫描,采用queue进行存放,这样一个选型路径的演变过程
    • 最开始同步 glog 0.5.0 中的方法,但发现其比较复杂,同时 专注 保留天数和文件个数,发现并不需要天数了,只要个数 + 个数的大小进行限制就能解决这个问题
    • 后面采用 multimap 进行存放,但由于不想 遍历 dir,所以在write中 scan一次,也导致了问题(写的时候会添加进map中,但scan时又会添加一次,但multimap支持这样的情况,即如下代码:)
    • 再后面代码review时提出的新方案「采用multimap进行扫描,采用queue进行存放、弹出」
      • 在设计时想到了 优先级队列(重载比较函数),这种拆分的方法没想到,一定程度上说,充分的利用了两者的优点,非常好的点
#include <iostream>
#include <map>
#include <string>

using namespace std;

int main()
{
    multimap<int, string> map_test;
    map_test.emplace(1, "hello");
    map_test.emplace(1, "world");
    map_test.emplace(1, "hello");
    map_test.emplace(2, "hello");

    cout << "map size = " << map_test.size() << endl;
    for (const auto &it : map_test)
    {
        cout << "\t" << it.first << " : " << it.second << endl;
    }
    return 0;
}

输出结果为:
在这里插入图片描述

  • 调用 LOG(EOOR) 出现死锁问题
  • scan中pid错误的问题
  • kill进程时出现的 defunct 状态
  • lstat、stat 的使用
    • stat统计软连接时踩过的坑
  • fwrite 判断情况
  • 错误码打印方法(errorno的具体错误)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值