Subversion Repositories spk

Rev

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

Rev 84 Rev 197
Line 1... Line 1...
1
#pragma once
1
#pragma once
2
 
2
 
3
#include "../Utils/StringList.h"
3
#include "../Utils/WStringList.h"
4
#include <vector>
4
#include <vector>
5
#include <stdarg.h>
5
#include <stdarg.h>
6
#include <fstream>
6
#include <fstream>
7
#include <time.h>
7
#include <time.h>
8
#include <sstream>
8
#include <sstream>
9
 
9
 
10
typedef struct {
10
typedef struct {
11
	Utils::String	sText;
11
	Utils::WString	sText;
12
	int				iLevel;
12
	int				iLevel;
13
	int				iType;
13
	int				iType;
14
} SLog;
14
} SLog;
15
 
15
 
16
class SPKEXPORT CLog
16
class SPKEXPORT CLog
Line 46... Line 46...
46
public:
46
public:
47
	static CLog *m_pInstance;
47
	static CLog *m_pInstance;
48
	static CLog *create();
48
	static CLog *create();
49
	static void release();
49
	static void release();
50
 
50
 
51
	static void log(LogType iType, int iLevel, const Utils::String &sLogText);
51
	static void log(LogType iType, int iLevel, const Utils::WString& sLogText);
52
	static void logf(LogType iType, int iLevel, const char *sLogText, ...);
52
	static void logf(LogType iType, int iLevel, const char *sLogText, ...);
53
	void _log(LogType iType, int iLevel, const Utils::String &sLogText);
53
	void _log(LogType iType, int iLevel, const Utils::WString& sLogText);
54
	void _logf(LogType iType, int iLevel, const char *sLogText, ...);
54
	void _logf(LogType iType, int iLevel, const char *sLogText, ...);
55
 
55
 
56
	virtual void displayLog(LogType iType, int iLevel, const Utils::String &sLogText) const;
56
	virtual void displayLog(LogType iType, int iLevel, const Utils::WString &sLogText) const;
57
	void setLevel(int iLevel);
57
	void setLevel(int iLevel);
58
	void addFilter(int iType);
58
	void addFilter(int iType);
59
	void setFilter(int iFilter);
59
	void setFilter(int iFilter);
60
	void removeFilter(int iType);
60
	void removeFilter(int iType);
61
	void clearFilter();
61
	void clearFilter();
Line 78... Line 78...
78
	}
78
	}
79
 
79
 
80
	virtual ~CConsoleLog(void)
80
	virtual ~CConsoleLog(void)
81
	{
81
	{
82
	}
82
	}
83
	virtual void displayLog(LogType iType, int iLevel, const Utils::String &sLogText) const
83
	virtual void displayLog(LogType iType, int iLevel, const Utils::WString &sLogText) const
84
	{
84
	{
85
		printf("%s\n", sLogText.c_str());
85
		wprintf(L"%s\n", sLogText.c_str());
86
	}
86
	}
87
};
87
};
88
 
88
 
89
class SPKEXPORT CFileLog : public CLog 
89
class SPKEXPORT CFileLog : public CLog 
90
{
90
{
91
private:
91
private:
92
	Utils::String _sFilename;
92
	Utils::WString _sFilename;
93
 
93
 
94
public:
94
public:
95
	static CLog *create()
95
	static CLog *create()
96
	{
96
	{
97
		if ( !CLog::m_pInstance ) {
97
		if ( !CLog::m_pInstance ) {
98
			CLog::m_pInstance = new CFileLog();
98
			CLog::m_pInstance = new CFileLog();
99
		}
99
		}
100
		return CLog::m_pInstance;
100
		return CLog::m_pInstance;
101
	}
101
	}
102
 
102
 
103
	void setFile(const Utils::String &sFileName)
103
	void setFile(const Utils::WString &sFileName)
104
	{
104
	{
105
		_sFilename = sFileName;
105
		_sFilename = sFileName;
106
	}
106
	}
107
 
107
 
108
	virtual ~CFileLog(void)
108
	virtual ~CFileLog(void)
109
	{
109
	{
110
	}
110
	}
111
	virtual void displayLog(LogType iType, int iLevel, const Utils::String &sLogText) const
111
	virtual void displayLog(LogType iType, int iLevel, const Utils::WString &sLogText) const
112
	{
112
	{
113
		_writeLog(iType, sLogText);
113
		_writeLog(iType, sLogText);
114
	}
114
	}
115
 
115
 
116
private:
116
private:
117
	void _writeLog(int iType, const Utils::String &sLogText) const;
117
	void _writeLog(int iType, const Utils::WString &sLogText) const;
118
	Utils::String _timeStamp() const;
118
	Utils::WString _timeStamp() const;
119
	Utils::String _formatTime(int iValue) const;
119
	Utils::WString _formatTime(int iValue) const;
120
	Utils::String _typeName(int iType) const;
120
	Utils::WString _typeName(int iType) const;
121
};
121
};