简介
我们平常自己在写项目的过程中,经常把程序运行的信息打印在控制台上,但是真正实际在工作过程中,特别是在一些已经运行起来的服务器上,我们不可能一直盯着控制台在那边查看程序的运行情况吧。
针对这样的情况,我们一般会将需要打印出来的信息写在一个文件里面,即使隔了很多天,我们依旧可以回过头来查看程序的运行状况,这就是日志的作用。
日志的等级
首先,我们要明确,日志是分等级的。有些事情很重要,比方说程序的运行发生错误,我们一般会把错误信息存进日志里面。但是频繁的IO操作是非常消耗程序性能的,所以我们一般把那些无关痛痒的事情设定为低等级的日志,这些信息我们可以不写进文档里面。
日志的等级划分并没有什么非常官方的规定,大家可以根据实际需要进行判断。
这里介绍一些比较常规的划分(级别从低到高)。
- ALL: 这是最低等级的日志,会把所有信息全都打印出来,一般不会使用。
- TRACE:也是非常低等级的日志,几乎等同于ALL也不太使用。
- DEBUG:这种信息一般是指在调试过程中,程序运行的一些细节信息,对开发阶段有所帮助。
- WARN:这是警告信息,不是错误,但是存在着潜在的危险,值得开发者注意。
- ERROR:这个属于错误,但是我们在实际的项目运行过程中,很少会因为程序出了一点错误就讲程序停止运行,一般都是报个异常,然后该怎样就怎样。这种信息我们一般都会打印进日志里面。
- FATAL:这个直接是重大错误了,这个会直接影响到程序的正常运行。出了这种级别的错误基本上就要把程序停下来进行调整了。
- OFF:这个是最高级别的日志,相当于什么都不要写。
日志的配置文件
文件名:log.h:
#ifndef _LOG_H__
#define _LOG_H__
#include <stdio.h>
#include <time.h>
extern FILE* pLogFile;
int get_loglevel();
enum LOG_LEVEL{
ALL,
DEBUG,
WARN,
ERROR,