问题描述
实现一个简单的基于Windows的日志系统,要求写入日志文件的内容的样式如下:
[时间]+[文件名]+[日志等级]+日志具体内容
如:
[2015.02.2514:35:13.143][WriteLog.c][INFO]This is a test!
其中,“2015.02.25 14:35:13.143”为当前时间(精确到毫秒),“WriteLog.c”为所打印的日志内容所在的文件名,“INFO”为日志的等级,“This is a test!”为日志的具体内容。
算法流程
图1 程序总体执行流程
图2 写日志操作总体执行流程
C代码实现
配置文件内容
配置文件命名为Config.ini,其内容形如:
[LOG]
;LogLevel, 0-Fatal 1-Error 2-Warn 3-Info 4-Trace 5-Debug 6-All
LogLevel=5
;Log dir
LogDir=D:\\Test
其中,“LogLevel”表示日志等级,“LogDir”表示日志文件存放的路径(注意:最后不要用\\结尾)。要根据实际的需要来改变各个配置项的值。
程序说明
(1)本程序直接在VC++中编译运行。
(2)配置文件Config.ini直接放到与WriteLog.c文件同级的工程目录下即可。
(3)通过改变“LogLevel”的配置值,可选择性地打印一些日志信息。
程序运行结果
(1)将“LogLevel”配为3,日志文件的内容如下:
(2)将“LogLevel”配为5,日志文件的内容如下:
可见,程序可以根据配置的日志等级来输出相应的日志信息。
(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)