⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 patternlayouttest.cpp

📁 log4cxx 0.10 unix下编译包
💻 CPP
📖 第 1 页 / 共 2 页
字号:
        void test8()        {                PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout8.properties"));                common();                ControlFilter filter1;                filter1 << PAT4;                //                //   combo of relative time and thread identifier                //     (the \\\\1 preserve a leading space)                Filter filter2(".*]", "[main]");                std::vector<Filter *> filters;                filters.push_back(&filter1);                filters.push_back(&filter2);                try                {                        Transformer::transform(TEMP, FILTERED, filters);                }                catch(UnexpectedFormatException& e)                {                        std::cout << "UnexpectedFormatException :" << e.what() << std::endl;                        throw;                }                LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.8")));        }        void test9()        {                PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout9.properties"));                common();                ControlFilter filter1;                filter1 << PAT5;                ThreadFilter filter2;                std::vector<Filter *> filters;                filters.push_back(&filter1);                filters.push_back(&filter2);                try                {                        Transformer::transform(TEMP, FILTERED, filters);                }                catch(UnexpectedFormatException& e)                {                        std::cout << "UnexpectedFormatException :" << e.what() << std::endl;                        throw;                }                LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.9")));        }        void test10()        {                PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout10.properties"));                common();                ControlFilter filter1;                filter1 << PAT6;                ThreadFilter filter2;                LineNumberFilter filter3;                FilenameFilter filenameFilter(__FILE__, "patternlayouttest.cpp");                std::vector<Filter *> filters;                filters.push_back(&filenameFilter);                filters.push_back(&filter1);                filters.push_back(&filter2);                filters.push_back(&filter3);                try                {                        Transformer::transform(TEMP, FILTERED, filters);                }                catch(UnexpectedFormatException& e)                {                        std::cout << "UnexpectedFormatException :" << e.what() << std::endl;                        throw;                }                LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.10")));        }        void test11()        {                PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout11.properties"));                common();                ControlFilter filter1;                filter1 << PAT11a << PAT11b;                ThreadFilter filter2;                std::vector<Filter *> filters;                filters.push_back(&filter1);                filters.push_back(&filter2);                try                {                        Transformer::transform(TEMP, FILTERED, filters);                }                catch(UnexpectedFormatException& e)                {                        std::cout << "UnexpectedFormatException :" << e.what() << std::endl;                        throw;                }                LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.11")));        }        void test12()        {                PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout12.properties"));                common();                ControlFilter filter1;                filter1 << PAT12;                ThreadFilter filter2;                LineNumberFilter filter3;                FilenameFilter filenameFilter(__FILE__, "patternlayouttest.cpp");                std::vector<Filter *> filters;                filters.push_back(&filenameFilter);                filters.push_back(&filter1);                filters.push_back(&filter2);                filters.push_back(&filter3);                try                {                        Transformer::transform(TEMP, FILTERED, filters);                }                catch(UnexpectedFormatException& e)                {                        std::cout << "UnexpectedFormatException :" << e.what() << std::endl;                        throw;                }                LOGUNIT_ASSERT(Compare::compare(FILTERED, LOG4CXX_FILE("witness/patternLayout.12")));        }        void testMDC1()        {                PropertyConfigurator::configure(LOG4CXX_FILE("input/patternLayout.mdc.1.properties"));                MDC::put(LOG4CXX_TEST_STR("key1"), LOG4CXX_TEST_STR("va11"));                MDC::put(LOG4CXX_TEST_STR("key2"), LOG4CXX_TEST_STR("va12"));                logger->debug(LOG4CXX_TEST_STR("Hello World"));                MDC::clear();                LOGUNIT_ASSERT(Compare::compare(TEMP, LOG4CXX_FILE("witness/patternLayout.mdc.1")));        }        void testMDC2()        {                LogString OUTPUT_FILE   = LOG4CXX_STR("output/patternLayout.mdc.2");                File WITNESS_FILE  = LOG4CXX_FILE("witness/patternLayout.mdc.2");                LogString mdcMsgPattern1 = LOG4CXX_STR("%m : %X%n");                LogString mdcMsgPattern2 = LOG4CXX_STR("%m : %X{key1}%n");                LogString mdcMsgPattern3 = LOG4CXX_STR("%m : %X{key2}%n");                LogString mdcMsgPattern4 = LOG4CXX_STR("%m : %X{key3}%n");                LogString mdcMsgPattern5 = LOG4CXX_STR("%m : %X{key1},%X{key2},%X{key3}%n");                // set up appender                PatternLayoutPtr layout = new PatternLayout(LOG4CXX_STR("%m%n"));                AppenderPtr appender = new FileAppender(layout, OUTPUT_FILE, false);                // set appender on root and set level to debug                root->addAppender(appender);                root->setLevel(Level::getDebug());                // output starting message                root->debug(LOG4CXX_TEST_STR("starting mdc pattern test"));                layout->setConversionPattern(mdcMsgPattern1);                log4cxx::helpers::Pool pool;                layout->activateOptions(pool);                root->debug(LOG4CXX_TEST_STR("empty mdc, no key specified in pattern"));                layout->setConversionPattern(mdcMsgPattern2);                layout->activateOptions(pool);                root->debug(LOG4CXX_TEST_STR("empty mdc, key1 in pattern"));                layout->setConversionPattern(mdcMsgPattern3);                layout->activateOptions(pool);                root->debug(LOG4CXX_TEST_STR("empty mdc, key2 in pattern"));                layout->setConversionPattern(mdcMsgPattern4);                layout->activateOptions(pool);                root->debug(LOG4CXX_TEST_STR("empty mdc, key3 in pattern"));                layout->setConversionPattern(mdcMsgPattern5);                layout->activateOptions(pool);                root->debug(LOG4CXX_TEST_STR("empty mdc, key1, key2, and key3 in pattern"));                MDC::put(LOG4CXX_TEST_STR("key1"), LOG4CXX_TEST_STR("value1"));                MDC::put(LOG4CXX_TEST_STR("key2"), LOG4CXX_TEST_STR("value2"));                layout->setConversionPattern(mdcMsgPattern1);                layout->activateOptions(pool);                root->debug(LOG4CXX_TEST_STR("filled mdc, no key specified in pattern"));                layout->setConversionPattern(mdcMsgPattern2);                layout->activateOptions(pool);                root->debug(LOG4CXX_TEST_STR("filled mdc, key1 in pattern"));                layout->setConversionPattern(mdcMsgPattern3);                layout->activateOptions(pool);                root->debug(LOG4CXX_TEST_STR("filled mdc, key2 in pattern"));                layout->setConversionPattern(mdcMsgPattern4);                layout->activateOptions(pool);                root->debug(LOG4CXX_TEST_STR("filled mdc, key3 in pattern"));                layout->setConversionPattern(mdcMsgPattern5);                layout->activateOptions(pool);                root->debug(LOG4CXX_TEST_STR("filled mdc, key1, key2, and key3 in pattern"));                MDC::remove(LOG4CXX_TEST_STR("key1"));                MDC::remove(LOG4CXX_TEST_STR("key2"));                layout->setConversionPattern(LOG4CXX_STR("%m%n"));                layout->activateOptions(pool);                root->debug(LOG4CXX_TEST_STR("finished mdc pattern test"));                LOGUNIT_ASSERT(Compare::compare(OUTPUT_FILE, WITNESS_FILE));        }       std::string createMessage(Pool& pool, int i) {         std::string msg("Message ");         msg.append(pool.itoa(i));         return msg;       }        void common()        {                int i = -1;                Pool pool;                LOG4CXX_DEBUG(logger, createMessage(pool, ++i));                LOG4CXX_DEBUG(root, createMessage(pool, i));                LOG4CXX_INFO(logger, createMessage(pool, ++i));                LOG4CXX_INFO(root, createMessage(pool, i));                LOG4CXX_WARN(logger, createMessage(pool, ++i));                LOG4CXX_WARN(root, createMessage(pool, i));                LOG4CXX_ERROR(logger, createMessage(pool, ++i));                LOG4CXX_ERROR(root, createMessage(pool, i));                LOG4CXX_FATAL(logger, createMessage(pool, ++i));                LOG4CXX_FATAL(root, createMessage(pool, i));        }private:        static const LogString FILTERED;        static const LogString TEMP;};const LogString PatternLayoutTest::TEMP(LOG4CXX_STR("output/temp"));const LogString PatternLayoutTest::FILTERED(LOG4CXX_STR("output/filtered"));LOGUNIT_TEST_SUITE_REGISTRATION(PatternLayoutTest);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -