⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 log.cpp

📁 网络socket,IO,线程池
💻 CPP
字号:
#include "stdafx.h"
#include "log.h"


using namespace Utility;

const char* g_unique = "LogMutex";
const char* g_lpszLevel[] = {
   "Debug",
   "Warning",
   "Severe",
   "Emergent",
   ""
};

void CSynLog::Init()
{
	m_mutex.SetMutexName(g_unique);
	// 如果还没有其他程序打开
	if(!m_mutex.IsOpen())
	{
		m_mutex.acquire();

	}
}

void CSynLog::operator()( const char *fmt, ... )
{	
	CLock<CCriSection> lock(m_CriSec);

	if(m_nMaxLine <= m_nCount)
	{
		m_pLog->DeleteOneLine();
	}

	// Format string
	char buffer[1024*50];
	va_list arglist;
	va_start( arglist, fmt );
	wvsprintf( buffer, fmt, arglist );
	va_end(arglist);

	// Format time stamp
	DWORD x;
	char  buf[256];

	SYSTEMTIME time;

	GetLocalTime(&time);

	
	wsprintf( buf, "%02d/%02d/%02d %02d:%02d:%02d  Level:%s  ", 
					time.wMonth, time.wDay,    time.wYear,
					time.wHour,  time.wMinute, time.wSecond,g_lpszLevel[m_nLevel]);
	string str(buf);
	str += (string)buffer;
	
	m_pLog->WriteData(str.c_str());
	m_nCount++;
}

CSynLog::~CSynLog()
{
	m_mutex.release();
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -