void CPocoLoggerTester::test_SplitterLogger() { Poco::AutoPtr<Poco::ConsoleChannel> pCons(new Poco::ConsoleChannel); Poco::AutoPtr<Poco::SimpleFileChannel> pFile(new Poco::SimpleFileChannel("test.log")); Poco::AutoPtr<Poco::SplitterChannel> pSplitter(new Poco::SplitterChannel); pSplitter->addChannel(pCons); pSplitter->addChannel(pFile); Poco::Logger::root().setChannel(pSplitter); Poco::Logger::root().information("This is a test"); }
void Plugin::setupLogger() { AutoPtr<FileChannel> pChannel(new FileChannel); AutoPtr<ConsoleChannel> cConsole(new ConsoleChannel); AutoPtr<SplitterChannel> pSplitter(new SplitterChannel); AutoPtr<PatternFormatter> pFormatter(new PatternFormatter); pFormatter->setProperty("pattern", "%Y-%m-%d %H:%M:%S [%p]: %t"); pFormatter->setProperty("times", "local"); // We will uncomment this later. Maybe. This preventing from writing into log files //pSplitter->addChannel(pChannel); pSplitter->addChannel(cConsole); //pChannel->setProperty("path", "/var/log/git-keshig.log"); //pChannel->setProperty("rotation", "5 M"); AutoPtr<FormattingChannel> pFormatChannel(new FormattingChannel(pFormatter, pSplitter)); Logger& log = Application::instance().logger(); log.setLevel(Poco::Message::PRIO_DEBUG); log.setChannel(pFormatChannel); }