#pragma once
|
#include <afx.h>
|
|
class CLogger
|
{
|
public:
|
static CLogger& Instance(); // 获取单例
|
void WriteLine(CString str); // 写一行日志
|
void CloseLogFile(); // 关闭日志文件
|
|
private:
|
CLogger();
|
~CLogger();
|
void OpenLogFile(); // 内部打开文件
|
|
CCriticalSection m_csLogLock;
|
CString m_strCurrentLogPath;
|
CStdioFile m_logFile;
|
};
|
|
#define LOG_LINE(x) CLogger::Instance().WriteLine(x)
|
|
#define LOG_LINEF(fmt, ...) \
|
do { \
|
CString __log__; \
|
__log__.Format(fmt, __VA_ARGS__); \
|
CLogger::Instance().WriteLine(__log__); \
|
} while (0)
|