base
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
#ifndef __DSLOG_H__
|
||||
#define __DSLOG_H__
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
// Log Level
|
||||
#define DSLL_STATE 0x0001
|
||||
#define DSLL_INFO 0x0002
|
||||
#define DSLL_ERROR 0x0004
|
||||
#define DSLL_DEBUG 0x0008
|
||||
|
||||
#define LOG(s) (__FILE__ " : " s)
|
||||
|
||||
class CDSLog
|
||||
{
|
||||
// Methods
|
||||
public:
|
||||
CDSLog(DWORD dwMode = modeDebug, DWORD dwLevel = DSLL_STATE, LPSTR szFileName = NULL, BOOL bAppend = TRUE, BOOL bDaily = TRUE);
|
||||
virtual ~CDSLog();
|
||||
|
||||
inline void Print(DWORD dwLevel, LPSTR pszFormat, ...) {
|
||||
if (!(dwLevel & m_dwLevel))
|
||||
return;
|
||||
|
||||
va_list val;
|
||||
|
||||
va_start(val, pszFormat);
|
||||
_Print(pszFormat, val);
|
||||
va_end(val);
|
||||
}
|
||||
|
||||
void EventLog(WORD wType, LPSTR pszFormat, ...);
|
||||
void EventLogError(LPSTR pszMsg);
|
||||
void EventLogWSAError(LPSTR pszMsg);
|
||||
|
||||
void SetMode(DWORD dwMode);
|
||||
void SetLevel(DWORD dwLevel);
|
||||
|
||||
void SetFile(LPSTR pszFileName, BOOL bAppend = TRUE, BOOL bDaily = TRUE);
|
||||
|
||||
void SetEventSource(LPSTR pszEventSource);
|
||||
|
||||
private:
|
||||
void _Print(LPSTR pszFormat, va_list val);
|
||||
void _PrintLine(LPSTR pszLine);
|
||||
void OpenFile();
|
||||
void CloseFile();
|
||||
void MakeSurfix(LPSTR pszBuf);
|
||||
|
||||
// Properties
|
||||
protected:
|
||||
UINT64 m_nLastLogTime;
|
||||
CHAR m_szLastLogDay[7];
|
||||
|
||||
LPSTR m_pszFileName;
|
||||
HANDLE m_hFile;
|
||||
|
||||
LPSTR m_pszEventSource;
|
||||
|
||||
BOOL m_bDebugMode, m_bFileMode, m_bConsoleMode;
|
||||
DWORD m_dwLevel;
|
||||
BOOL m_bAppend, m_bDaily;
|
||||
|
||||
public:
|
||||
static const DWORD modeDebug;
|
||||
static const DWORD modeFile;
|
||||
static const DWORD modeConsole;
|
||||
|
||||
static const CHAR m_szExt[];
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user