src/Logger.cc
author terom
Tue, 09 Dec 2008 04:33:53 +0000
changeset 365 65295dfbbf64
parent 185 25becd2cb026
child 412 721c60072091
permissions -rw-r--r--
fix optimization-related warnings

#include "Logger.hh"

Logger::Logger (std::ostream &stream, enum LogLevel level, const char *module) : 
    stream(stream), level(level), module(module) 
{
    const char *l;

    switch (level) {
        case FATAL: l = "FATAL"; break;
        case ERROR: l = "ERROR"; break;
        case WARN: l = "WARN"; break;
        case INFO: l = "INFO"; break;
        case DEBUG: l = "DEBUG"; break;
        default: l = "???"; break;
    };

#ifndef NDEBUG    
    stream << l << " [" << module << "] ";
#endif
}

Logger::~Logger (void) {
#ifndef NDEBUG    
    stream << std::endl;
#endif
}

std::ostream& operator<< (std::ostream &s, CL_NetComputer &c) {
    s << "[" << c.get_address().get_address() << ":" << c.get_address().get_port() << "]";

    return s;
}

std::ostream& operator<< (std::ostream &s, CL_NetObject_Server &obj) {
    s << "%" << obj.get_obj_id();

    return s;
}

std::ostream& operator<< (std::ostream &s, CL_NetObject_Client &obj) {
    s << "%" << obj.get_obj_id();

    return s;
}