\hypertarget{interface_2logger_8h}{
\section{include/interface/logger.h File Reference}
\label{interface_2logger_8h}\index{include/interface/logger.h@{include/interface/logger.h}}
}
{\ttfamily \#include $<$stdarg.h$>$}\par
{\ttfamily \#include \char`\"{}interface.h\char`\"{}}\par
{\ttfamily \#include \char`\"{}logger.h\char`\"{}}\par
Include dependency graph for logger.h:
This graph shows which files directly or indirectly include this file:
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structi__Logger}{i\_\-Logger}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef void($\ast$ \hyperlink{interface_2logger_8h_a4dcd041363da34329e1c9442c98a273e}{fptr\_\-log} )(void $\ast$, \hyperlink{logger_8h_a63296c69f4b9bf51d6756a5d2c482d1e}{logger\_\-level}, const char $\ast$const)
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{interface_2logger_8h_ae9f8662ec8b300dcfb5064906937553e}{loggerLog} (void $\ast$, \hyperlink{logger_8h_a63296c69f4b9bf51d6756a5d2c482d1e}{logger\_\-level}, const char $\ast$const,...)
\end{DoxyCompactItemize}


\subsection{Typedef Documentation}
\hypertarget{interface_2logger_8h_a4dcd041363da34329e1c9442c98a273e}{
\index{interface/logger.h@{interface/logger.h}!fptr\_\-log@{fptr\_\-log}}
\index{fptr\_\-log@{fptr\_\-log}!interface/logger.h@{interface/logger.h}}
\subsubsection[{fptr\_\-log}]{\setlength{\rightskip}{0pt plus 5cm}typedef void($\ast$  {\bf fptr\_\-log})(void $\ast$, {\bf logger\_\-level}, const char $\ast$const)}}
\label{interface_2logger_8h_a4dcd041363da34329e1c9442c98a273e}


Definition at line 9 of file logger.h.



\subsection{Function Documentation}
\hypertarget{interface_2logger_8h_ae9f8662ec8b300dcfb5064906937553e}{
\index{interface/logger.h@{interface/logger.h}!loggerLog@{loggerLog}}
\index{loggerLog@{loggerLog}!interface/logger.h@{interface/logger.h}}
\subsubsection[{loggerLog}]{\setlength{\rightskip}{0pt plus 5cm}void loggerLog (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{, }
\item[{{\bf logger\_\-level}}]{, }
\item[{const char $\ast$}]{const, }
\item[{}]{...}
\end{DoxyParamCaption}
)}}
\label{interface_2logger_8h_ae9f8662ec8b300dcfb5064906937553e}


Definition at line 13 of file logger.c.


\begin{DoxyCode}
                                                                           {
        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);
        }
}
\end{DoxyCode}


Here is the caller graph for this function:


