google glog在程序中使用方法与注意事项

本文介绍了如何在程序中使用glog和log4jcpp进行日志处理,并讨论了日志输出目录的重要性,以及如何避免冗余日志输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


大部分程序其实是使用封装后的log4jcpp等进行日志处理,对于单机来说可以用glog来打点日志,

但需要预先指定日志的输出目录否则均写到/tmp目录下将磁盘写满,

需要注意的一点是,高级别的日志向低级别日志扩展,这样输出的日志其实会冗余很大,另外,要将所有的级别日志设置输出目录否则未设置的仍会写到/tmp目录下,

以下为本人程序中的写会,供参考(也可能有更好的方法,比如不用全写上所有的级别但我还没有找到,知道的提示一下以便我改进代码冗余,thanks)


#include .......


int main(int argc, char **argv) {

    
        ::google::ParseCommandLineFlags(&argc, &argv, true);
    
        std::string log_info = FLAGS_log_path + "/info.";
        std::string log_error = FLAGS_log_path + "/error.";
        ::google::SetLogDestination(::google::FATAL, (FLAGS_log_path + "/fatal.").c_str());
        ::google::SetLogDestination(::google::ERROR, (FLAGS_log_path + "/error.").c_str());
        ::google::SetLogDestination(::google::WARNING, (FLAGS_log_path + "/warning.").c_str());
        ::google::SetLogDestination(::google::INFO, (FLAGS_log_path + "/info.").c_str());
        ::google::InitGoogleLogging(argv[0]);


        LOG(INFO) << "start process " << argv[0];
        std::tr1::shared_ptr<CLS_PROC> pCLS_PROC(new CLS_PROC());
        bool ret_init = pCLS_PROC->_init();
        if(!ret_init){
                LOG(INFO) << "service break down!" << argv[0];
                return EXIT_FAILURE;
        }
        usleep(100);

        LOG(INFO) << "service running...";

        pCLS_PROC->_start();

        LOG(INFO) << "exit process" << argv[0];
        return EXIT_SUCCESS;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值