LINUX.ORG.RU

История изменений

Исправление shty, (текущая версия) :

напиши обертку для log4cpp и не парься, минимальный proof of concept в твоих терминах:

class LOG
{
    public:
        LOG(log4cpp::Priority priority)
            : m_priority(priority) { }

        ~LOG()
        {   
            root << priority << m_buffer.str();
        }

        template<typename T>
        LOG& operator<<(T const& v)
        {   
            m_buffer << v; return *this;
        }

    private:
        log4cpp::Priority m_priority;
        std::stringstream m_buffer;
};

соответственно usage:

LOG(log4cpp::Priority::ERROR) << "This code sucks!";

PS как заменить log4cpp'шные enum'ы на свои, надеюсь, догадаешься

Исправление shty, :

напиши обертку для log4cpp и не парься, минимальный proof of concept в твоих терминах:

class LOG
{
    public:
        LOG(log4cpp::Priority priority)
            : m_priority(priority) { }

        ~LOG()
        {   
            root << priority << m_buffer.str();
        }

        template<typename T>
        LOG& operator<<(T const& v)
        {   
            buffer_ << v; return *this;
        }

    private:
        log4cpp::Priority m_priority;
        std::stringstream m_buffer;
};

соответственно usage:

LOG(log4cpp::Priority::ERROR) << "This code sucks!";

PS как заменить log4cpp'шные enum'ы на свои, надеюсь, догадаешься

Исправление shty, :

напиши обертку для log4cpp и не парься, минимальный proof of concept в твоих терминах:

class LOG
{
    public:
        LOG(log4cpp::Priority priority)
            : m_priority(priority) { }

        ~LOG()
        {   
            root << priority << buffer_.str();
        }

        template<typename T>
        LOG& operator<<(T const& v)
        {   
            buffer_ << v; return *this;
        }

    private:
        log4cpp::Priority m_priority;
        std::stringstream m_buffer;
};

соответственно usage:

LOG(log4cpp::Priority::ERROR) << "This code sucks!";

PS как заменить log4cpp'шные enum'ы на свои, надеюсь, догадаешься

Исходная версия shty, :

напиши обертку для log4cpp и не парься, минимальный proof of concept в твоиз терминах:

class LOG
{
    public:
        LOG(log4cpp::Priority priority)
            : m_priority(priority) { }

        ~LOG()
        {   
            root << priority << buffer_.str();
        }

        template<typename T>
        LOG& operator<<(T const& v)
        {   
            buffer_ << v; return *this;
        }

    private:
        log4cpp::Priority m_priority;
        std::stringstream m_buffer;
};

соответственно usage:

LOG(log4cpp::Priority::ERROR) << "This code sucks!";

PS как заменить log4cpp'шные enum'ы на свои, надеюсь, догадаешься