Ignore:
Timestamp:
04/27/15 04:44:23 (9 years ago)
Author:
Maciej Komosinski
Message:

Improved argument variable names; changed implementation to use STL classes (vector, string)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpp/frams/loggers/loggers.cpp

    r375 r378  
    66#include <common/stl-util.h>
    77
    8 void _logMessageSingleLine(const char *o, const char *m, int w, const char *txt)
     8void _logMessageSingleLine(const char *obj, const char *method, int level, const char *msg)
    99{
    10         tlsGetRef(message_handler_manager_instance).send(o, m, w, txt);
     10        tlsGetRef(message_handler_manager_instance).send(obj, method, level, msg);
    1111}
    1212
    1313THREAD_LOCAL_DEF(LoggerManager, message_handler_manager_instance);
    1414
    15 void LoggerManager::send(int level, const char *o, const char *m, int w, const char *bl)
     15void LoggerManager::send(int position, const char *obj, const char *method, int level, const char *msg)
    1616{
    17         if (level >= handlers.size()) level = handlers.size() - 1;
    18         bool blocked = 0;
    19         for (int i = level; i >= 0; i--)
     17        if (position >= (int)loggers.size()) position = loggers.size() - 1;
     18        bool blocked = false;
     19        for (int i = position; i >= 0; i--)
    2020        {
    21                 LoggerBase *r = handlers(i);
    22                 if ((!(r->options & LoggerBase::Paused)) &&
    23                         ((!blocked) || (r->options & LoggerBase::CannotBeBlocked)))
     21                LoggerBase *logger = loggers[i];
     22                if ((!(logger->options & LoggerBase::Paused)) &&
     23                        ((!blocked) || (logger->options & LoggerBase::CannotBeBlocked)))
    2424                {
    25                         r->handle(o, m, w, bl);
    26                         if (!(r->options & LoggerBase::DontBlock)) blocked = 1;
     25                        logger->handle(obj, method, level, msg);
     26                        if (!(logger->options & LoggerBase::DontBlock)) blocked = true;
    2727                }
    2828        }
    2929}
    3030
    31 int LoggerManager::add(LoggerBase *h)
     31int LoggerManager::add(LoggerBase *logger)
    3232{
    33         h->manager = this;
    34         handlers += h;
    35         return handlers.size() - 1;
     33        logger->manager = this;
     34        loggers.push_back(logger);
     35        return loggers.size() - 1;
    3636}
    3737
    3838void LoggerManager::remove(int i)
    3939{
    40         LoggerBase *h = handlers(i);
     40        LoggerBase *h = loggers[i];
    4141        h->manager = NULL;
    42         handlers.remove(i);
     42        loggers.erase(loggers.begin() + i);
    4343}
    4444
    45 void LoggerManager::remove(LoggerBase *h)
     45void LoggerManager::remove(LoggerBase *logger)
    4646{
    47         int i;
    48         if ((i = handlers.find(h)) < 0) return;
    49         remove(i);
     47        int index = find(logger);
     48        if (index >= 0)
     49                remove(index);
    5050}
    5151
    5252void LoggerManager::removeAll()
    5353{
    54         while (handlers.size() > 0)
    55                 remove(handlers.size() - 1);
     54        while (loggers.size() > 0)
     55                remove(loggers.size() - 1);
    5656}
    5757
    5858//////////////////////////////////
    5959
    60 void LoggerBase::send(const char *o, const char *m, int w, const char *bl)
     60void LoggerBase::send(const char *obj, const char *method, int level, const char *msg)
    6161{
    6262        if (!isEnabled()) return;
    63         int level = manager->find(this);
    64         if (level >= 0) manager->send(level - 1, o, m, w, bl);
     63        int position = manager->find(this);
     64        if (position >= 0) manager->send(position - 1, obj, method, level, msg);
    6565}
    6666
    67 void LoggerBase::logPrintf(const char *o, const char *m, int w, const char *bl, ...)
     67void LoggerBase::logPrintf(const char *obj, const char *method, int level, const char *msg, ...)
    6868{
    6969        if (!isEnabled()) return;
    7070        string buf;
    7171        va_list argptr;
    72         va_start(argptr, bl);
    73         buf = ssprintf_va(bl, argptr);
     72        va_start(argptr, msg);
     73        buf = ssprintf_va(msg, argptr);
    7474        va_end(argptr);
    75         send(o, m, w, buf.c_str());
     75        send(obj, method, level, buf.c_str());
    7676}
    7777
     
    103103/////////////////////////////////
    104104
    105 void LoggerToMemory::handle(const char *o, const char *m, int w, const char *bl)
     105void LoggerToMemory::handle(const char *obj, const char *method, int level, const char *msg)
    106106{
    107         if (w > maxlevel) maxlevel = w;
    108         if (w >= LOG_INFO) infocount++;
    109         if (w >= LOG_WARN) warncount++;
    110         if (w >= LOG_ERROR) errcount++;
     107        if (level > maxlevel) maxlevel = level;
     108        if (level >= LOG_INFO) infocount++;
     109        if (level >= LOG_WARN) warncount++;
     110        if (level >= LOG_ERROR) errcount++;
    111111
    112         if (w >= minleveltostore)
     112        if (level >= minleveltostore)
    113113        {
    114114                storedcount++;
    115115                if (options & (StoreFirstMessage | StoreAllMessages))
    116116                {
    117                         if (!((options&StoreFirstMessage) && (msgs.len() > 0)))
     117                        if (!((options&StoreFirstMessage) && (msgs.length() > 0)))
    118118                        {
    119                                 if (msgs.len() > 0) msgs += '\n';
    120                                 msgs += SString::sprintf(LOG_FORMAT,LOG_LEVEL[w+1],o,m,bl);
     119                                if (msgs.length() > 0) msgs += '\n';
     120                                msgs += ssprintf(LOG_FORMAT, LOG_LEVEL[level + 1], obj, method, msg);
    121121                        }
    122122                }
Note: See TracChangeset for help on using the changeset viewer.