资源简介
C++自己实现日志库,包括XML文件解析,日志信息分级,多种方式存储
代码片段和文件信息
#include
#include “logout.h“
LogOut::LogOut()
{
m_path.clear();
m_logxml = new Logxml;
}
void LogOut::logOut(string line string msg LogLevel level)
{
if(“true“ == m_logxml->getTextSwitch())
{
writeLog(linemsglevel);
}
if(“true“ == m_logxml->getConSwitch())
{
printLog(linemsglevel);
}
if(“true“ == m_logxml->getDBSwitch())
{
saveLog(linemsglevel);
}
}
string LogOut::getCurrentTime()
{
struct tm *local; //定义tm结构指针存储时间信息
time_t now; //声明time_t类型变量
timeb tb;
ftime(&tb); //微秒
now=time(NULL);//获取当前系统的日历时间
local=localtime(&now);//localtime()函数是将日历时间转化为本地时间
char temp[50] = {0};
sprintf(temp“[%d-%d-%d %d:%d:%d:%3d]“local->tm_year + 1900local->tm_mon + 1local->tm_mday
local->tm_hourlocal->tm_minlocal->tm_sectb.millitm);
string timeNow = temp;
return timeNow;
}
void LogOut::printLog(string line string msg LogLevel level)
{
switch(level)
{
case DEBUG:
cout<DEBUG“< break;
case INFO:
cout<INFO“< break;
case WARN:
cout<WARN“< break;
case ERRO:
cout<ERRO“< break;
case FATAL:
cout<FATAL“< break;
default:
break;
}
}
void LogOut::writeLog(string line string msg LogLevel level)
{
string fileName = m_logxml->getPath();
ofstream outfile(fileName.c_str()ios::app);//将fileName转化为c型字符串作为文件名
if(!outfile)
{
cout<<“Log.txt can‘t open.“< return;
}
else
{
switch(level)
{
case DEBUG:
if(m_logxml->getLevel()>=“5“)
{
outfile<DEBUG“< }
break;
case INFO:
if(m_logxml->getLevel()>=“4“)
{
outfile<INFO“< }
break;
case WARN:
if(m_logxml->getLevel()>=“3“)
{
outfile<WARN“< }
break;
case ERRO:
if(m_logxml->getLevel()>=“2“)
{
outfile<ERRO“< }
break;
case FATAL:
if(m_logxml->getLevel()>=“1“)
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-11 13:54 LogLib\
文件 220 2018-03-21 16:30 LogLib\LogLib.pro
文件 193 2018-03-23 15:54 LogLib\config.xm
文件 3479 2018-05-11 13:53 LogLib\logout.cpp
文件 1367 2018-03-23 17:56 LogLib\logout.h
文件 1071 2018-05-11 13:53 LogLib\logxm
文件 780 2018-03-23 15:48 LogLib\logxm
文件 235 2018-03-22 08:44 LogLib\main.cpp
文件 72979 2018-02-25 09:38 LogLib\tinyxm
文件 70123 2018-02-25 09:38 LogLib\tinyxm
- 上一篇:神经网络实现异或
- 下一篇:文件加密基于赫夫曼编码的简单程序
评论
共有 条评论