Beispiel #1
0
void wbLogger_append(wbLogLevel_t level, string msg, const char *file,
                     const char *fun, int line) {
  wbLogEntry_t elem;
  wbLogger_t logger;

  wb_init(NULL, NULL);

  logger = _logger;

  if (wbLogger_getLevel(logger) < level) {
    return;
  }

  elem = wbLogEntry_initialize(level, msg, file, fun, line);

#ifdef wbLogger_printOnLog
  if (wbLogger_printOnLog) {
    if (level <= wbLogger_getLevel(logger) && elem) {
      json11::Json json = json11::Json::object{
          {"type", "logger"},
          {"id", wbLogEntry_getId(elem)},
          {"session_id", wbLogEntry_getSessionId(elem)},
          {"data", wbLogEntry_toJSONObject(elem)}};
      std::cout << json.dump() << std::endl;
    }
  }
#endif /* wbLogger_printOnLog */

  if (wbLogger_getHead(logger) == NULL) {
    wbLogger_setHead(logger, elem);
  } else {
    wbLogEntry_t prev = wbLogger_getHead(logger);

    while (wbLogEntry_hasNext(prev)) {
      prev = wbLogEntry_getNext(prev);
    }
    wbLogEntry_setNext(prev, elem);
  }

#if 0
  if (level <= wbLogger_getLevel(logger) && elem) {
    const char *levelName = getLevelName(level);

    fprintf(stderr, "= LOG: %s: %s (In %s:%s on line %d). =\n", levelName,
            wbLogEntry_getMessage(elem), wbLogEntry_getFile(elem),
            wbLogEntry_getFunction(elem), wbLogEntry_getLine(elem));
  }
#endif

  wbLogger_incrementLength(logger);

  return;
}
Beispiel #2
0
wbLogger_t wbLogger_new() {
  wbLogger_t logger;

  logger = wbNew(struct st_wbLogger_t);

  wbLogger_setId(logger, uuid());
  wbLogger_setSessionId(logger, sessionId());
  wbLogger_setLength(logger, 0);
  wbLogger_setHead(logger, NULL);

  wbLogger_getLevel(logger) = wbLogLevel_TRACE;

  return logger;
}
Beispiel #3
0
wbLogger_t wbLogger_new() {
  wbLogger_t logger;

  logger = wbNew(struct st_wbLogger_t);

  wbLogger_setLength(logger, 0);
  wbLogger_setHead(logger, NULL);
#ifndef NDEBUG
  wbLogger_getLevel(logger) = wbLogLevel_TRACE;
#else
  wbLogger_getLevel(logger) = wbLogLevel_OFF;
#endif

  return logger;
}
Beispiel #4
0
void wbLogger_clear(wbLogger_t logger) {
  if (logger != NULL) {
    wbLogEntry_t tmp;
    wbLogEntry_t iter;

    iter = wbLogger_getHead(logger);
    while (iter != NULL) {
      tmp = wbLogEntry_getNext(iter);
      wbLogEntry_delete(iter);
      iter = tmp;
    }

    wbLogger_setLength(logger, 0);
    wbLogger_setHead(logger, NULL);
  }
}
Beispiel #5
0
void wbLogger_append(wbLogLevel_t level, string msg, const char *file,
                     const char *fun, int line) {
  wbLogEntry_t elem;
  wbLogger_t logger;

  wb_init();

  logger = _logger;

  if (wbLogger_getLevel(logger) < level) {
    return;
  }

  elem = wbLogEntry_initialize(level, msg, file, fun, line);

  if (wbLogger_getHead(logger) == NULL) {
    wbLogger_setHead(logger, elem);
  } else {
    wbLogEntry_t prev = wbLogger_getHead(logger);

    while (wbLogEntry_hasNext(prev)) {
      prev = wbLogEntry_getNext(prev);
    }
    wbLogEntry_setNext(prev, elem);
  }

#if 0
  if (level <= wbLogger_getLevel(logger) && elem) {
    const char *levelName = getLevelName(level);

    fprintf(stderr, "= LOG: %s: %s (In %s:%s on line %d). =\n", levelName,
            wbLogEntry_getMessage(elem), wbLogEntry_getFile(elem),
            wbLogEntry_getFunction(elem), wbLogEntry_getLine(elem));
  }
#endif

  wbLogger_incrementLength(logger);

  return;
}