Subversion Repositories spk

Rev

Rev 10 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 cycrow 1
#include "log.h"
2
 
3
CLog *CLog::m_pInstance = 0;
4
 
5
CLog::CLog()
6
{
7
}
8
 
9
CLog::~CLog()
10
{
11
}
12
 
13
CLog *CLog::create()
14
{
15
	if ( !m_pInstance ) {
16
		m_pInstance = new CLog();
17
	}
18
	return m_pInstance;
19
}
20
 
21
void CLog::release()
22
{
23
	if ( m_pInstance ) {
24
		delete m_pInstance;
25
	}
26
	m_pInstance = 0;
27
}
28
 
10 cycrow 29
void CLog::log(int iLevel, const Utils::String &sLogText)
1 cycrow 30
{
31
	CLog *pLogger = CLog::create();
10 cycrow 32
	pLogger->_log(iLevel, sLogText);
1 cycrow 33
}
34
 
10 cycrow 35
void CLog::displayLog(int iLevel, const Utils::String &sLogText) const
7 cycrow 36
{
37
}
38
 
10 cycrow 39
void CLog::_log(int iLevel, const Utils::String &sLogText)
1 cycrow 40
{
10 cycrow 41
	SLog *newLog = new SLog;
42
	newLog->sText = sLogText;
43
	newLog->iLevel = iLevel;
44
	m_lLogs.push_back(newLog);
7 cycrow 45
 
10 cycrow 46
	this->displayLog(iLevel, sLogText);
7 cycrow 47
}
48
 
10 cycrow 49
void CLog::logf(int iLevel, const char *sLogText, ...)
7 cycrow 50
{
51
	char buffer[10000];
52
	va_list args;
53
	va_start (args, sLogText);
54
	vsprintf (buffer, sLogText, args);
55
	va_end (args);
56
 
10 cycrow 57
	CLog::log(iLevel, buffer);
7 cycrow 58
}
10 cycrow 59
void CLog::_logf(int iLevel, const char *sLogText, ...)
7 cycrow 60
{
61
	char buffer[10000];
62
	va_list args;
63
	va_start (args, sLogText);
64
	vsprintf (buffer, sLogText, args);
65
	va_end (args);
66
 
10 cycrow 67
	this->_log(iLevel, buffer);
7 cycrow 68
}
69
 
70
void CLog::clear()
71
{
10 cycrow 72
	m_lLogs.clear(true);
7 cycrow 73
}
74
 
10 cycrow 75
const SLog *CLog::firstLog() const
7 cycrow 76
{
10 cycrow 77
	if ( !m_lLogs.Front() ) return NULL;
78
	return m_lLogs.Front()->Data();
7 cycrow 79
}
9 cycrow 80
 
81
int CLog::count() const
82
{
83
	return m_lLogs.size();
84
}