#ifndef NodeLogger_hpp
#define NodeLogger_hpp

#include "Logger.hpp"
#include "TreeElements.hpp"

namespace apoc { namespace legacy {

class NodeLogger : public NodeVisitor
{
    public :
        NodeLogger(Logger::LogLevel aLevel = Logger::LogLevel_Debug)
            : mLevel(aLevel) {}
        virtual ~NodeLogger(void) {}

        virtual bool preChildrenProcess(Node& aNode) ;
        virtual bool postChildrenProcess(Node& aNode) { return true; }
    protected :
    private :
        Logger::LogLevel mLevel ;
} ;
    
} } // apoc.legacy

#endif // NodeLogger_hpp
