Server 0.0.1
HTTP/REST server implementation

include/logger/interface/logger.h File Reference

#include <stdarg.h>
#include "class.h"
#include "logger.h"
Include dependency graph for logger.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  i_Logger

Typedefs

typedef void(* fptr_log )(void *, logger_level, const char *const)

Functions

void loggerLog (void *, logger_level, const char *const,...)

Detailed Description

The logger interface.

Author:
Georg Hopp

Copyright © 2012 Georg Hopp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Definition in file logger.h.


Typedef Documentation

typedef void(* fptr_log)(void *, logger_level, const char *const)

Definition at line 32 of file logger.h.


Function Documentation

void loggerLog ( void *  ,
logger_level  ,
const char *  const,
  ... 
)

Definition at line 36 of file i_logger.c.

                                                                           {
        Logger object = _object;

        if (level >= object->min_level) {
                char *  msg      = NULL;
                size_t  msg_size = 0;
                va_list params;

                va_start(params, fmt);
                msg_size = vsnprintf(msg, msg_size, fmt, params);
                va_end(params);

                msg = malloc(msg_size + 1);

                va_start(params, fmt);
                vsnprintf(msg, msg_size + 1, fmt, params);
                va_end(params);

                CALL(_object, Logger, log, level, msg);

                free(msg);
        }
}

Here is the caller graph for this function:

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines