glog的使用

glog的使用

使用单例进行调用

class GlogSingle
{
public:
    
    //使用引用的单例
    //TODO:了解不同方式实现单例的优缺点
    static GlogSingle* get_instance()
    {
        static GlogSingle clog;
        return &clog;
    }

    bool cfgGlog(const char* node_name = "default", const char* log_dir = "log", const uint16_t level= google::INFO );
private:
   GlogSingle(){};
   ~GlogSingle()
    {
        google::ShutdownGoogleLogging();
    };

};

glog 参数配置

/**
 * @brief 
 * 
 * @param node_name   文件名
 * @param log_dir     目录
 * @param level       等级
 * @return true 
 * @return false 
 */
bool GlogSingle::cfgGlog(const char* node_name, const char* log_dir, const uint16_t level)    
{
     //设置只在终端显示  否则不会正常在终端显示
    google::InitGoogleLogging(node_name);
    FLAGS_log_dir = "./";
   
   //设置日志消息是否转到标准输出而不是日志文件
    FLAGS_logtostderr =false;

    FLAGS_timestamp_in_logfile_name = false;

   //设置日志消息除了日志文件之外是否去标准输出
    FLAGS_alsologtostderr = false;//true

   //设置记录到标准输出的颜色消息(如果终端支持)
    FLAGS_colorlogtostderr =true;

   //  大于或等于这个日志级别的日志除了输出到日志文件外还输出到stderr 
   //  INFO: 0 WARNING: 1 ERROR: 2 FATAL: 3
    FLAGS_stderrthreshold = google::WARNING;

    //只输出大于或等于这个日志级别的日志信息
    FLAGS_logbuflevel = google::ERROR;

    //设置日志前缀是否应该添加到每行输出
    FLAGS_log_prefix = true;

   //设置可以缓冲日志的最大秒数,0指实时输出
    FLAGS_logbufsecs =0;

   //设置最大日志文件大小(以MB为单位)
    FLAGS_max_log_size = 2;

   //TODO: 等官方glog的pr合并到dev  再实现这个功能 (或者使用提供的pr库)
    //FLAGS_max_logfile_num = 5;
    

    FLAGS_stop_logging_if_full_disk =true;//设置是否在磁盘已满时避免日志记录到磁盘

    // keep your logs for 3 days
    google::EnableLogCleaner(1); 
    //FLAGS_logtostderr = 1; 
    LOG(INFO) << "Hello,cfgGlog!";
    return true;
}

bool initGlog(std::string name, std::string path, Level level)
{
   return GlogSingle::get_instance()->cfgGlog(name.c_str(), path.c_str(), level);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值