技术专栏
Glog改进1- 修改glog按天切割日志
在写代码的过程中,打log肯定是少不了的,毕竟不能总靠调试来发现问题。log库的选用就很纠结了,成熟的log库非常多,log4cpp、log4cxx、poco.log、boost.log、glog等等,以前我用过log4cxx,觉得配置巨麻烦,一大段看着好纠结,不过用起来很舒服。这次我决定使用比较轻量的glog。
glog来自于google,google提供给大家不少好东西,所以功能和质量上都是可以保证的。而且很轻量,用起来很灵活。
glog项目地址:https://code.google.com/p/google-glog/
glog的文档:英文 http://google-glog.googlecode.com/svn/trunk/doc/glog.html
glog入门代码就不多写了,在文档中也有,网上也是一大片,大家请自行搜索。他提供了vs工程和configure文件,编译方法见文档。
我修改的部分
1.增加文件按天区分
glog是根据进程ID来区分文件的,如果你重新启动了程序,则log文件的名字就会变,这样似乎不太满足我的需求,我还要求它可以每天生成文件,方便我整理和分析log,其实也有办法,自己增加一个按天滚文件的函数就可以了。
在utilities.cc中增加函数如下,(因为PidHasChanged()在这个文件里)
static int32 g_main_day = 0;
bool DayHasChanged()
{
time_t raw_time;
struct tm* tm_info;
time(&raw_time);
tm_info = localtime(&raw_time);
if (tm_info->tm_mday != g_main_day)
{
g_main_day = tm_info->tm_mday;
return true;
}
return false;
}
在logging.cc的LogFileObject::Write函数中将
if (static_cast<int>(file_length_ >> 20) >= MaxLogSize() ||
PidHasChanged()) {
改成
if (static_cast<int>(file_length_ >> 20) >= MaxLogSize() ||
PidHasChanged() || DayHasChanged()) {
这样就会按照天来输出log了。
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
2
收藏
评论
打赏
- 分享
- 举报
评论
1个
手气红包
-
Austin 2022-06-23 10:07:26回复 举报这样只会输出error等级的log, 补充修改如下: 1. src/logging.cc 文件中 if (file_length_ >> 20U >= MaxLogSize() || DayHasChanged(severity_)) { ... ... 2. src/utilities.cc 文件中 static int32 g_main_day[NUM_SEVERITIES] = {0}; bool DayHasChanged(LogSeverity severity) { ... if (tm_info->tm_mday != g_main_day[severity]) { g_main_day[severity] = tm_info->tm_mday; return true; } ... 3. src/utilities.h 文件中 bool DayHasChanged(LogSeverity severity);
相关专栏
-
浏览量:5992次2020-09-26 22:13:18
-
浏览量:3907次2020-09-26 22:23:39
-
浏览量:627次2024-01-16 10:04:55
-
浏览量:1302次2020-08-30 00:47:29
-
浏览量:1420次2023-12-27 15:27:59
-
浏览量:4428次2020-08-26 17:30:20
-
浏览量:6071次2021-01-15 17:26:20
-
浏览量:4116次2021-07-02 14:29:37
-
浏览量:8149次2021-01-20 17:04:49
-
浏览量:800次2023-12-28 14:35:34
-
浏览量:2566次2022-03-22 09:00:24
-
浏览量:1604次2019-12-03 16:26:29
-
浏览量:3502次2020-08-18 15:39:19
-
浏览量:1315次2020-01-02 08:50:53
-
浏览量:3327次2023-04-03 16:45:01
-
浏览量:1905次2017-11-22 11:48:47
-
浏览量:2424次2017-11-23 12:47:40
-
浏览量:1109次2024-02-19 15:26:47
-
浏览量:1438次2023-11-09 11:00:53
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者
gcp
您的支持将鼓励我继续创作!
打赏金额:
¥1
¥5
¥10
¥50
¥100
支付方式:
微信支付
打赏成功!
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注