POCO :: Logger имеет класс LogStream, который реализует ostream для регистратора.POCO logger wrapper
Im пытается написать оболочку класса для реализации системы журналов для моего проекта.
до сих пор у меня есть:
h.
#include "Poco/LogStream.h"
#include "Poco/Logger.h"
#include "Poco/FileChannel.h"
#include "Poco/AutoPtr.h"
using Poco::Logger;
using Poco::FileChannel;
using Poco::AutoPtr;
using Poco::LogStream;
class MyLogger
{
public:
MyLogger();
Poco::LogStream& operator()();
~MyLogger();
private:
Poco::Logger& m_logger;
};
СРР
MyLogger::MyLogger() : m_logger(Poco::Logger::get(APP_NAME))
{
/*
AutoPtr<FileChannel> pChannel(new FileChannel);
pChannel->setProperty("path", "c:\\teshss.log");
pChannel->setProperty("rotation", "2 K");
pChannel->setProperty("archive", "timestamp");
Logger::root().setChannel(pChannel);
Logger& logger = Logger::get(APP_NAME); // inherits root channel
*/
}
Poco::LogStream& MyLogger::operator()()
{
AutoPtr<FileChannel> pChannel(new FileChannel);
pChannel->setProperty("path", "c:\\teshss.log");
pChannel->setProperty("rotation", "2 K");
pChannel->setProperty("archive", "timestamp");
Logger::root().setChannel(pChannel);
Logger& logger = Logger::get("");
LogStream lstr(logger);
return lstr;
}
MyLogger::~MyLogger()
{
}
затем на мой проект, первый я генерировать экземпляр для MyLogger:
MyLogger mylog;
и внутри функции:
mylog() << "Hello world" << std::endl;
Этот код усложнять и запускать, но генерировать когда я пытаюсь написать строку журнала.
Честно говоря, мне не нужно много думать о том, что я делаю, у меня есть опыт работы с C++, но напишите обертку совершенно для меня. Поэтому мне нужна помощь.
спасибо.
Благодарю вас за внимание. :) – jsilva