Subversion Repositories spk

Rev

Rev 84 | Rev 213 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 84 Rev 197
Line 24... Line 24...
24
		delete m_pInstance;
24
		delete m_pInstance;
25
	}
25
	}
26
	m_pInstance = 0;
26
	m_pInstance = 0;
27
}
27
}
28
 
28
 
29
void CLog::log(LogType iType, int iLevel, const Utils::String &sLogText)
29
void CLog::log(LogType iType, int iLevel, const Utils::WString& sLogText)
30
{
30
{
31
	CLog *pLogger = CLog::create();
31
	CLog* pLogger = CLog::create();
32
	pLogger->_log(iType, iLevel, sLogText);
32
	pLogger->_log(iType, iLevel, sLogText);
33
}
33
}
34
 
34
 
35
void CLog::addFilter(int iType)
35
void CLog::addFilter(int iType)
36
{
36
{
Line 50... Line 50...
50
void CLog::clearFilter()
50
void CLog::clearFilter()
51
{
51
{
52
	_iFilter = 0;
52
	_iFilter = 0;
53
}
53
}
54
 
54
 
55
void CLog::displayLog(LogType iType, int iLevel, const Utils::String &sLogText) const
55
void CLog::displayLog(LogType iType, int iLevel, const Utils::WString &sLogText) const
56
{
56
{
57
}
57
}
58
 
58
 
59
void CLog::_log(LogType iType, int iLevel, const Utils::String &sLogText)
59
void CLog::_log(LogType iType, int iLevel, const Utils::WString& sLogText)
60
{
60
{
61
	if ( iLevel > _iLevel ) return;
61
	if (iLevel > _iLevel) return;
62
	if ( !(_iFilter & iType) ) return;
62
	if (!(_iFilter & iType)) return;
63
 
63
 
64
	if ( _bSaveLog ) {
64
	if (_bSaveLog) {
65
		SLog *newLog = new SLog;
65
		SLog* newLog = new SLog;
66
		newLog->sText = sLogText;
66
		newLog->sText = sLogText;
67
		newLog->iLevel = iLevel;
67
		newLog->iLevel = iLevel;
68
		newLog->iType = iType;
68
		newLog->iType = iType;
69
		m_lLogs.push_back(newLog);
69
		m_lLogs.push_back(newLog);
70
	}
70
	}
Line 116... Line 116...
116
 
116
 
117
/////////////////////////////////////////////////////////////////////////////
117
/////////////////////////////////////////////////////////////////////////////
118
//	File Log
118
//	File Log
119
///////////////////
119
///////////////////
120
 
120
 
121
void CFileLog::_writeLog(int iType, const Utils::String &sLogText) const
121
void CFileLog::_writeLog(int iType, const Utils::WString &sLogText) const
122
{
122
{
123
	std::ofstream outFile;
123
	std::wofstream outFile;
124
	outFile.open(_sFilename, std::ios::out | std::ios::app);
124
	outFile.open(_sFilename, std::ios::out | std::ios::app);
125
	if ( outFile.is_open() ) {
125
	if ( outFile.is_open() ) {
126
		outFile << _timeStamp() << " (" << _typeName(iType) << ") " << sLogText << std::endl;
126
		outFile << _timeStamp() << " (" << _typeName(iType) << ") " << sLogText << std::endl;
127
		outFile.close();
127
		outFile.close();
128
	}
128
	}
129
}
129
}
130
 
130
 
131
Utils::String CFileLog::_timeStamp() const
131
Utils::WString CFileLog::_timeStamp() const
132
{
132
{
133
	std::stringstream strm;
133
	std::wstringstream strm;
134
	time_t T = time(NULL);
134
	time_t T = time(NULL);
135
	struct tm *TM = localtime(&T);
135
	struct tm *TM = localtime(&T);
136
	strm << "[" << Utils::String::PadNumber(TM->tm_mday, 2) << "/" << Utils::String::PadNumber(TM->tm_mon+1, 2) << "/" << TM->tm_year+1900 << " - " << Utils::String::PadNumber(TM->tm_hour, 2) << ":" << Utils::String::PadNumber(TM->tm_min, 2) << ":" << Utils::String::PadNumber(TM->tm_sec, 2) << "]";
136
	strm << L"[" << Utils::WString::PadNumber(TM->tm_mday, 2) << L"/" << Utils::WString::PadNumber(TM->tm_mon+1, 2) << L"/" << TM->tm_year+1900 << " - " << Utils::WString::PadNumber(TM->tm_hour, 2) << L":" << Utils::WString::PadNumber(TM->tm_min, 2) << L":" << Utils::WString::PadNumber(TM->tm_sec, 2) << L"]";
137
	return strm.str();
137
	return strm.str();
138
}
138
}
139
 
139
 
140
Utils::String CFileLog::_typeName(int iType) const
140
Utils::WString CFileLog::_typeName(int iType) const
141
{
141
{
142
	switch(iType) {
142
	switch(iType) {
143
		case Log_Install:	return "INSTALL";
143
		case Log_Install:	return L"INSTALL";
144
		case Log_Uninstall: return "UNINSTALL";
144
		case Log_Uninstall: return L"UNINSTALL";
145
		case Log_IO:		return "IO";
145
		case Log_IO:		return L"IO";
146
		case Log_File:		return "FILE";
146
		case Log_File:		return L"FILE";
147
		case Log_Directory:	return "DIRECTORY";
147
		case Log_Directory:	return L"DIRECTORY";
148
	}
148
	}
149
	return "";
149
	return L"";
150
}
150
}