⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dtslog.h

📁 本程序是一个用于写日志的库
💻 H
字号:
// ============================================================
// 文 件 名:DtsLog.h
// 版    权:Copyright(C) 2007-2008 国富安应用项目部
// 版    本:1.0
// 功能描述:系统日志操作类,提供读写日志等功能
// 创建时间:2007.05.10
// 作    者:吴涛
// 备    注:
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DTSLOG_H__F9FD48C4_B726_4C3E_BD86_38258AA1AAB7__INCLUDED_)
#define AFX_DTSLOG_H__F9FD48C4_B726_4C3E_BD86_38258AA1AAB7__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <queue>

struct _DTS_LOG_HDR // The database header
{
	DWORD dwSignature;    // 0x8CA53903
	WORD wVersion[4];     // VERSION 1.0.1.0  
	DWORD dwReserved;     // 
	BYTE bReserved0[16];
	BYTE bReserved1[16];
};

struct _DTS_LOG_CONTENT // The database content
{
	TCHAR cSubject[64];
	TCHAR cTime[64];
	DWORD dwDescNum;   //日志的大小
};

//----------log文件格式-------------//
//log文件存储格式
//文件头:结构体_DTS_LOG_HDR 1个
//日志记录树木: DWORD     1个
//每条记录的信息存储
//{
//每条信息的结构有:_DTS_LOG_CONTENT和日志的信息
//其中日志信息的字符数为_DTS_LOG_CONTENT-》dwDescNum
//}
//-----------------------//

class CDtsLog  
{
public:
	static BOOL IsLogEnabled(LPCTSTR szKey);
	static void DisableLog(HANDLE hKey);
	static HANDLE EnableLog(LPCTSTR szKey);
	CString GetDtsLogFileName();
	void DelLastLog();
	BOOL CreateFolder(CString cstrPath);
	BOOL IsExistDirectory(CString cstrPath);
	CString GetFileDir(CString _filename);
	bool WaitUtilLogFileCanUse(int flag = 0);
	bool IsLogExist();
	CDtsLog();
	virtual ~CDtsLog();

	void SetFilePath(LPCTSTR  _fileName);
	void SetMinCount(int minCnt);
	void SetMaxCount(int maxCnt);

	void AddLog(LPCTSTR _subject, LPCTSTR _desc);
	void DelLogFile();
	bool ReadLogFile(CString _filename);
	bool WriteLogFile();

	std::queue<_DTS_LOG_CONTENT> GetLogData(){ return m_que; };
	std::queue<CString> GetLogDesc(){ return m_queDesc; };
	int GetLogCount(){ return m_iLogNum; };
private:
	int m_iCountMin;
	int m_iCountMax;
	CString m_strFilePath;
	std::queue<_DTS_LOG_CONTENT> m_que;
	std::queue<CString> m_queDesc;
	int m_iLogNum;
	//HANDLE m_hOneInstance;
};

#endif // !defined(AFX_DTSLOG_H__F9FD48C4_B726_4C3E_BD86_38258AA1AAB7__INCLUDED_)

⌨️ 快捷键说明

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