当前位置: 首页 > 工具软件 > Clogger > 使用案例 >

tb-common-utils源码分析(1):CLogger

陶沛
2023-12-01

tb-common-utils是淘宝开发使用的一个公共库,淘宝使用广泛的kv系统tair即是使用该库作为其他底层库。该源码可在http://code.taobao.org/project/view/3/中找到。

我们先从最基本的开始分析,首先今天要介绍的是clogger类,该类用于记录日志信息。

先看该类的成员变量:

 

setMaxFileSize函数用于设置日志文件的最大大小,从代码中可以看出,日志的最大大小是1GB:

 

setMaxFileIndex函数用于设置日志文件的最大数量,从代码中可以看出,日志文件的最大数量是1024个:

 

checkFile用于检测文件是否已经打开了,如果没有打开,或者已经打开的不是当前文件,则重新打开,并绑定到标准输出:

 

setLogLevel用于设置日志级别,其成员变量_errstr是一个静态成员数组,保存着各个日志级别的字符串,其成员级别越来越高。从该成员数组的初始化中,我们可以看出,日志级别分别支持error、warn、info、debug。默认的日志级别为最高。

logMessage用于输出日志信息,比较复杂,看代码:

 

rotateLog用于分割日志,如果可以指定旧文件的命令格式,如果不指定,则按默认格式来:

 

主要函数介绍完了,看看如何使用。

为方便使用,此处定义了一些宏:

在使用时,我们只需要调用TBSYS_LOG()即可,如TBSYS_LOG(DEBUG,"test")。

 

 类似资料: