以前学习一些的第三方库, 都要写无数的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.