loggable.h

来自「另外一款开放源码的高质量p2p源码软件」· C头文件 代码 · 共 57 行

H
57
字号
#pragma once

enum EDebugLogPriority{
	DLP_VERYLOW = 0,
	DLP_LOW,
	DLP_DEFAULT,
	DLP_HIGH,
	DLP_VERYHIGH
};
///////////////////////////////////////////////////////////////////////////////
// CLoggable

class CLoggable
{
public:
	static void AddLogLine(bool addtostatusbar,UINT nID,...);
	static void AddLogLine(bool addtostatusbar,LPCTSTR line,...);
	static void AddDebugLogLine(bool addtostatusbar, UINT nID,...);
	static void AddDebugLogLine(bool addtostatusbar, LPCTSTR line,...);
	static void AddDebugLogLine(EDebugLogPriority Priority, bool addtostatusbar, UINT nID,...);
	static void AddDebugLogLine(EDebugLogPriority Priority, bool addtostatusbar, LPCTSTR line,...);

	void PacketToDebugLogLine(LPCTSTR info, char * packet, uint32 size, uint8 opcode, EDebugLogPriority dlpPriority) const;
	void TagToDebugLogLine(LPCTSTR info, LPCTSTR tag, uint32 size, uint8 opcode) const;

private:
	static void AddLogText(bool debug, bool addtostatusbar, EDebugLogPriority dlpPriority, LPCTSTR line, va_list argptr);	
};


///////////////////////////////////////////////////////////////////////////////
// CLog

class CLog
{
public:
	CLog();
	~CLog();

	bool IsOpen() const;
	const CString& GetFilePath() const;
	bool SetFilePath(LPCTSTR pszFilePath);
	void SetMaxFileSize(UINT uMaxFileSize);

	bool Create(LPCTSTR pszFilePath, UINT uMaxFileSize = 1024*1024);
	bool Open();
	bool Close();
	bool Log(LPCTSTR psz, int iLen = -1);

protected:
	FILE* m_fp;
	time_t m_tStarted;
	CString m_strFilePath;
	UINT m_uBytesWritten;
	UINT m_uMaxFileSize;
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?