📄 log.h.bak
字号:
#pragma once
#include "../Synchronization/mlock.h"
using namespace Synchronization;
#include <afxmt.h>
#include <memory>
using namespace std;
namespace Utility{
class CImplementLog
{
public:
virtual ~CImplementLog(){}
virtual int WriteData(const char* szMsg) = 0;
virtual void DeleteOneLine() = 0;
};
class CSynLog
{
public:
enum LogLevel
{
DEBUG,
WARNING,
SEVERE,
EMERGENCY
};
CSynLog(auto_ptr<CImplementLog>& pLog,LogLevel = DEBUG,int nMaxLine = 10000):m_pLog(pLog),m_nMaxLine(nMaxLine),m_nCount(0)
{
Init();
}
CSynLog(CImplementLog* pLog,LogLevel = DEBUG,int nMaxLine = 10000):m_pLog(pLog),m_nMaxLine(nMaxLine),m_nCount(0)
{
Init();
}
void operator()( const char *fmt, ... );
inline void SetMaxLineNum( long nNewMaxLine = 10000)
{
m_nMaxLine = nNewMaxLine;
}
inline void SetLevel(LogLevel nNewLevel)
{
CLock<CCriSection> lock(m_CriSec);
m_nLevel = nNewLevel;
}
inline int GetLevel()
{
CLock<CCriSection> lock(m_CriSec);
return m_nLevel;
}
~CSynLog();
private:
CSynLog();
CSynLog(const CLog& log);
void Init();
int m_nMaxLine;
int m_nCount;
CCriSection m_CriSec;
CAPIMutex m_mutex;
LogLevel m_nLevel;
auto_ptr<CImplementLog>& m_pLog;
};
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -