#include #include #include #include #include #include #include #include #include using namespace std; using namespace log4cplus; using namespace log4cplus::helpers; typedef helpers::chrono::high_resolution_clock hr_clock; typedef helpers::chrono::duration> sec_dur_type; log4cplus::tostream& operator <<(log4cplus::tostream& s, const Time& t) { return s << to_time_t (t) << "sec " << microseconds_part (t) << "usec"; } #define LOOP_COUNT 100000 log4cplus::tstring getPropertiesFileArgument (int argc, char * argv[]) { if (argc >= 2) { char const * arg = argv[1]; log4cplus::tstring file = LOG4CPLUS_C_STR_TO_TSTRING (arg); log4cplus::helpers::FileInfo fi; if (getFileInfo (&fi, file) == 0) return file; } return LOG4CPLUS_TEXT ("log4cplus.properties"); } int main(int argc, char * argv[]) { tcout << LOG4CPLUS_TEXT("Entering main()...") << endl; log4cplus::Initializer initializer; PropertyConfigurator::doConfigure(getPropertiesFileArgument (argc, argv)); Logger root = Logger::getRoot(); try { Logger logger = Logger::getInstance(LOG4CPLUS_TEXT("testlogger")); LOG4CPLUS_WARN(Logger::getRoot (), "Starting test loop...."); hr_clock::time_point start = hr_clock::now (); tstring msg(LOG4CPLUS_TEXT("This is a WARNING...")); int i = 0; for(i=0; i