【Poco】学習例の枠組み


以前はいくつかのサードパーティライブラリを勉強して、無数の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;
};

2つのヘッダファイル
// 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

ログファイル:log 4 cplus.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.