Ignore:
Timestamp:
16/12/2006 20:26:31 (5 years ago)
Author:
chris
Message:
  • Rename Loggers class to Logging, which looks nicer.
  • Fix type of "line" argument to loggers to int rather than std::string to match LINE
  • Define necessary static objects
  • Remove global condition on logging for now

(refs #3)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • box/chris/merge/lib/common/Logging.cpp

    r1224 r1225  
    1616#include "Logging.h" 
    1717 
    18 bool Loggers::sLogToSyslog  = false; 
    19 bool Loggers::sLogToConsole = false; 
    20 bool Loggers::sContextSet   = false; 
     18bool Logging::sLogToSyslog  = false; 
     19bool Logging::sLogToConsole = false; 
     20bool Logging::sContextSet   = false; 
    2121 
    22 void Loggers::ToSyslog(bool enabled) 
     22std::vector<Logger*> Logging::sLoggers; 
     23std::string Logging::sContext; 
     24Console    Logging::sConsole; 
     25Syslog     Logging::sSyslog; 
     26Log::Level  Logging::sGlobalLevel; 
     27 
     28void Logging::ToSyslog(bool enabled) 
    2329{ 
    2430        if (!sLogToSyslog && enabled) 
     
    3541} 
    3642 
    37 void Loggers::ToConsole(bool enabled) 
     43void Logging::ToConsole(bool enabled) 
    3844{ 
    3945        if (!sLogToConsole && enabled) 
     
    5056} 
    5157 
    52 void Loggers::FilterConsole(Log::Level level) 
     58void Logging::FilterConsole(Log::Level level) 
    5359{ 
    5460        sConsole.Filter(level); 
    5561} 
    5662 
    57 void Loggers::FilterSyslog(Log::Level level) 
     63void Logging::FilterSyslog(Log::Level level) 
    5864{ 
    5965        sSyslog.Filter(level); 
    6066} 
    6167 
    62 void Loggers::Add(Logger* pNewLogger) 
     68void Logging::Add(Logger* pNewLogger) 
    6369{ 
    6470        for (std::vector<Logger*>::iterator i = sLoggers.begin(); 
     
    7480} 
    7581 
    76 void Loggers::Remove(Logger* pOldLogger) 
     82void Logging::Remove(Logger* pOldLogger) 
    7783{ 
    7884        for (std::vector<Logger*>::iterator i = sLoggers.begin(); 
     
    8793} 
    8894 
    89 void Loggers::Log(Log::Level level, const std::string& rFile,  
    90         const std::string& rLine, const std::string& rMessage) 
     95void Logging::Log(Log::Level level, const std::string& rFile,  
     96        int line, const std::string& rMessage) 
    9197{ 
    9298        std::string newMessage; 
     
    102108                i != sLoggers.end(); i++) 
    103109        { 
    104                 bool result = (*i)->Log(level, rFile, rLine, newMessage); 
     110                bool result = (*i)->Log(level, rFile, line, newMessage); 
    105111                if (!result) 
    106112                { 
     
    110116} 
    111117 
    112 void Loggers::SetContext(std::string context) 
     118void Logging::SetContext(std::string context) 
    113119{ 
    114120        sContext = context; 
     
    116122} 
    117123 
    118 void Loggers::ClearContext() 
     124void Logging::ClearContext() 
    119125{ 
    120126        sContextSet = false; 
    121127} 
    122128 
    123 void Loggers::SetProgramName(const std::string& rProgramName) 
     129void Logging::SetProgramName(const std::string& rProgramName) 
    124130{ 
    125131        for (std::vector<Logger*>::iterator i = sLoggers.begin(); 
     
    131137 
    132138bool Console::Log(Log::Level level, const std::string& rFile,  
    133         const std::string& rLine, std::string& rMessage) 
     139        int line, std::string& rMessage) 
    134140{ 
    135141        if (level > GetLevel()) 
     
    145151        } 
    146152         
    147         fprintf(target, "%s", rMessage.c_str()); 
     153        fprintf(target, "%s\n", rMessage.c_str()); 
    148154         
    149155        return true; 
     
    151157 
    152158bool Syslog::Log(Log::Level level, const std::string& rFile,  
    153         const std::string& rLine, std::string& rMessage) 
     159        int line, std::string& rMessage) 
    154160{ 
    155161        if (level > GetLevel()) 
Note: See TracChangeset for help on using the changeset viewer.