网络上目前开源日志类库包非常齐全,也用过LOG4之类的,做得都很好,但是有些时候可能只是为了简单记录日志辅助测试或部分维护,有些项目或者工具是非常轻量级的,而开源的日志库比如LOG4(很多语言和版本)却是一个比较重量的库包,我就特别不喜欢使用这些重量级的东西,编译、部署、安装包等都显得很是笨重,如果不是必要我一般都不用,也是基于此自己针对字符串、时间、文件、日志等常用编写一些简单的工具包,下面就是用C++写了一个超轻便的日志类,直接上源码:
///
// 以下是日志文件操作类 by qlong_008@163.com// 日志文件操作类
class CLogFile
{
public:
FILE *m_tracefp; // 日志文件指针。
char m_filename[301]; // 日志文件名,建议采用绝对路径。
char m_openmode[11]; // 日志文件的打开方式,一般采用"a+"。
bool m_bEnBuffer; // 写入日志时,是否启用操作系统的缓冲机制,缺省不启用。
long m_MaxLogSize; // 最大日志文件的大小,单位M,缺省100M。
bool m_bBackup; // 是否自动切换,日志文件大小超过m_MaxLogSize将自动切换,缺省启用。
hmutex_t mutex_; // thread-safe
// 构造函数。
// MaxLogSize:最大日志文件的大小