コード例 #1
0
ファイル: ofLog.cpp プロジェクト: roxlu/ofxLogger
ofLogger::ofLogger() {
    // code from Poco LogRotation sample

    Poco::AutoPtr<Poco::SplitterChannel> splitterChannel(new Poco::SplitterChannel());

    Poco::AutoPtr<Poco::Channel> consoleChannel(new Poco::ConsoleChannel());
    Poco::AutoPtr<Poco::Channel> fileChannel(new Poco::FileChannel("sample.log"));
    Poco::AutoPtr<Poco::FileChannel> rotatedFileChannel(new Poco::FileChannel("rotated.log"));

    rotatedFileChannel->setProperty("rotation", "100");
    rotatedFileChannel->setProperty("archive", "timestamp");

    splitterChannel->addChannel(consoleChannel);
    splitterChannel->addChannel(fileChannel);
    splitterChannel->addChannel(rotatedFileChannel);

    Poco::AutoPtr<Poco::Formatter> formatter(new Poco::PatternFormatter("%t"));
    Poco::AutoPtr<Poco::Channel> formattingChannel(new Poco::FormattingChannel(formatter, splitterChannel));

    logger = &Poco::Logger::create("Logger", formattingChannel, Poco::Message::PRIO_TRACE);
}
コード例 #2
0
ファイル: LogRotationTest.cpp プロジェクト: schidler/MeCloud
//----------------------------------------
//	PrepareConsoleLoggerWithRotatedLogFile
//----------------------------------------
void PrepareConsoleLoggerWithRotatedLogFile(	const std::string& name
											,	const Poco::Util::MapConfiguration* config
											,	int level=Poco::Message::PRIO_INFORMATION)
{
	Poco::AutoPtr<Poco::SplitterChannel> splitterChannel(new Poco::SplitterChannel);
	Poco::AutoPtr<Poco::Channel> consoleChannel(new Poco::ConsoleChannel);
	Poco::AutoPtr<Poco::FileChannel> rotatedFileChannel(new Poco::FileChannel);

	for(std::size_t i=0; i<kNumKeyDefaultValue; ++i)
	{
		rotatedFileChannel->setProperty(kKeyDefaultValue[i][0]
										, config->getString(kKeyDefaultValue[i][0], kKeyDefaultValue[i][1]));
	}

	splitterChannel->addChannel(consoleChannel);
	splitterChannel->addChannel(rotatedFileChannel);

	Poco::AutoPtr<Poco::Formatter> formatter(new Poco::PatternFormatter("%w %b %e %H:%M:%S.%i %Y: %t"));
	formatter->setProperty("times", "local");
	Poco::AutoPtr<Poco::Channel> formattingChannel(new Poco::FormattingChannel(formatter, splitterChannel));

	Poco::Logger::create(name, formattingChannel, level);
}
コード例 #3
0
ファイル: SDCLibrary2.cpp プロジェクト: surgitaix/osclib
SDCLibrary2::SDCLibrary2() :
	WithLogger(OSELib::Log::BASE),
	initialized(false)
{


	// set up the librarie's logger
	Poco::AutoPtr<Poco::ConsoleChannel> consoleChannel(new Poco::ConsoleChannel);
	Poco::AutoPtr<Poco::SimpleFileChannel> fileChannel(new Poco::SimpleFileChannel);
	Poco::AutoPtr<Poco::SplitterChannel> splitterChannel(new Poco::SplitterChannel);
	fileChannel->setProperty("path", "sdclib.log");
	fileChannel->setProperty("rotation", "10 M");
	splitterChannel->addChannel(consoleChannel);
	splitterChannel->addChannel(fileChannel);

	Poco::AutoPtr<Poco::PatternFormatter> patternFormatter(new Poco::PatternFormatter);
	patternFormatter->setProperty("pattern", "%q %H:%M:%S.%i %s:\n  %t");
	Poco::AutoPtr<Poco::FormattingChannel> formattingChannel(new Poco::FormattingChannel(patternFormatter, splitterChannel));

	getLogger().setChannel(formattingChannel);

	// default ports chosen regarding to unlikely used ports:
	// https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
}