现在的位置: 首页 > 综合 > 正文

【Poco】学习例子的框架

2013年08月02日 ⁄ 综合 ⁄ 共 1397字 ⁄ 字号 评论关闭

以前学习一些的第三方库, 都要写无数的main的函数, 来学习一些内容. 简单搭一个小框架来用.
主源文件:

#include "tmain.hpp"
#include "tfun.hpp"

log4cplus::Logger g_logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("POCO_SAMPLE"));

int main(int argc, char *argv[], char *env[])
{
	// log4cplus部分的初始化
	log4cplus::PropertyConfigurator::doConfigure("log4cplus.properties");
	PRINT_DEBUG("下面写你要测试的函数!");

	// 要测试的函数
	tst_stringtoken();

	return 0;
};

两个头文件

// tmain.hpp
#ifndef TMAIN_H_
#define TMAIN_H_

#include "Poco/StringTokenizer.h"

#  ifdef __TEST__
#    include <gtest/gtest.h>
#  else
#    include <log4cplus/logger.h>			//定义Log对象
#    include <log4cplus/configurator.h>
#    include <log4cplus/consoleappender.h>	//输出到控制台
#    include <log4cplus/fileappender.h>		//输出到文件
#    include <log4cplus/layout.h>			//输出格式
#  endif

extern log4cplus::Logger g_logger;

#define PRINT_TRACE(s) LOG4CPLUS_TRACE(g_logger, s);
#define PRINT_DEBUG(s) LOG4CPLUS_DEBUG(g_logger, s);
#define PRINT_INFO(s)  LOG4CPLUS_INFO(g_logger, s);
#define PRINT_ERROR(s) LOG4CPLUS_ERROR(g_logger, s);
#define PRINT_FATAL(s) LOG4CPLUS_FATAL(g_logger, s);

#endif

// tfun.hpp
// 各测试函数的声明.

// Foundation
void tst_stringtoken();

// Net

日志文件: log4cplus.properties

log4cplus.rootLogger=TRACE, STDOUT

# Define a file appender named "consoleAppender"
log4cplus.appender.STDOUT=log4cplus::ConsoleAppender
log4cplus.appender.STDOUT.layout=log4cplus::PatternLayout
log4cplus.appender.STDOUT.layout.ConversionPattern=%D{%Y-%m-%d %H:%M:%S} [%t] %-5p - %m%n

后面一个个例子就可以写成一个源文件(函数定义在此), 然后再在头文件tfun.hpp中加入声明, 最后在tmain.cpp中加入调用, 如tst_stringtoken.

抱歉!评论已关闭.