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

📄 logthread.cpp

📁 基于Linux下Epoll技术的EchoSvr
💻 CPP
字号:
#include "LogThread.h"
#include "Log.h"

LogThread::LogThread(int maxLog,char* ip,int port,char* username,char* password,char*dbname) 
{
	this->maxLog = maxLog;
	strcpy(this->ip,ip);
	this->port= port;
	strcpy(this->username,username);
	strcpy(this->password,password);
	strcpy(this->dbname,dbname);
}

LogThread::~LogThread()
{
	
}
void LogThread::ReportMO(unsigned short id,int size)
{
		//clients[id]->MO+=size;
		char t[20];
		char sql[100];
		current(t);
		sprintf(sql,"call REPORT_TRANSFER(%u,0,%d,'%s',0,'DGS01')",
					id,
					size,
					t);
		pushLog(sql);	
}
void LogThread::ReportMT(unsigned short id,int size)
{
		//clients[id]->MT+=size;
		char t[20];
		char sql[100];
		current(t);
		sprintf(sql,"call REPORT_TRANSFER(%u,1,%d,'%s',0,'DGS01')",
					id,
					size,
					t);
		pushLog(sql);		
}
void LogThread::ReportAuthResult(unsigned short id,int result)
{	
	char t[20];
	char sql[100];
	current(t);
	sprintf(sql,"call REPORT_AUTH_RESULT(%u,%d,'%s','DGS01')",id,result,t);
	pushLog(sql);
}	

void LogThread::ReportOnline(unsigned short id,char* ip,int port)
{	
	char t[20];
	char sql[100];
	current(t);	
	sprintf(sql,"call REPORT_STATUS(%u,'%s','%s','%s',%d,'DGS01',0)",id,t,t,ip,port);
	pushLog(sql);
}	

void LogThread::ReportOffline(unsigned short id)
{	
	char t[20];
	char sql[100];
	current(t);	
	sprintf(sql,"call REPORT_STATUS(%u,'%s','%s',' ',0,'DGS01',1)",id,t,t,ip,port);
	pushLog(sql);
}	
void LogThread::pushLog(char* log)
{
	if(g_sqls.size()<maxLog)
		g_sqls.push(log);
}		
void LogThread::Run()
{
	while(1)
	{
		string sql;
		//debug_output("sqls:%d ...........\n",g_sqls.size());
		if(g_sqls.pop(sql))
		{
		   //debug_output("%s\n",sql.c_str());
		   usleep(200000);
		}
		else
			sleep(2);
	}
}

⌨️ 快捷键说明

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