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