读取配置文件

 
	void SetLog(const CStdString& strConfigFilePath)
	{
		char strTemp[MAX_PATH] = {0};
		// 读取日志路径
		GetPrivateProfileString("log-setting", "LogPathName", m_strModulePath.c_str(), strTemp, MAX_PATH, strConfigFilePath) ;
		if (0x2 == errno)
		{
			throw runtime_error ("配置文件没有找到") ;
		}
		m_filename			= strTemp ;
		memset (strTemp, 0, MAX_PATH) ;

		// 读取日志名字
		GetPrivateProfileString("log-setting", "LogFileName", m_strModuleName.c_str(), strTemp, MAX_PATH, strConfigFilePath) ;
		m_filename += strTemp ;
		m_LogName	= strTemp ;
		// 获取日志文件名字的前缀
		m_filenamePrefix = m_filename ;
		memset (strTemp, 0, MAX_PATH) ;


		// 获取最大日志文件编号
		GetMaxLogNo () ;

		// 将日志文件的名字拼上编号 
		_i64toa (m_nLastMaxNo, strTemp, 10) ;
		m_filename		+= strTemp ;
		m_filename		+= ".log" ;
		memset (strTemp, 0, MAX_PATH) ;


		// 读取日志大小,默认为10MB
		GetPrivateProfileString("log-setting", "LogSize", "10485760", strTemp, MAX_PATH, strConfigFilePath) ;
		m_maxFileSize = atol (strTemp) ;
		memset (strTemp, 0, MAX_PATH) ;

		// 读取日志级别
		GetPrivateProfileString("log-setting", "LogLevel", "ALL_LOG_LEVEL", strTemp, MAX_PATH, strConfigFilePath) ;
		m_LogLevel = strTemp ;
		memset (strTemp, 0, MAX_PATH) ;

		// 读取是否立即刷新
		GetPrivateProfileString("log-setting", "LogIMFlush", "TRUE", strTemp, MAX_PATH, strConfigFilePath) ;
		if (!strcmp(strTemp, "FALSE") || !strcmp(strTemp, "false"))
		{
			m_immediateFlush = FALSE ;
		}
		else
		{
			// 只要不是FLASE,就把置为TRUE,不管配置文件里有没有写错
			m_immediateFlush = TRUE ;
		}
		memset (strTemp, 0, MAX_PATH) ;

		// 读取硬盘剩余多少时就不写日志了,默认为100MB
		GetPrivateProfileString("log-setting", "RemainMemorry", "100", strTemp, MAX_PATH, strConfigFilePath) ;
		int nRemainMemorry	= atoi (strTemp) ;
		m_RemainMemorry		= (__int64)nRemainMemorry * 1024 * 1024 ;
		memset (strTemp, 0, MAX_PATH) ;
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值