GRU - Generic Reusable Utilities
Loading...
Searching...
No Matches
Typedefs | Enumerations | Functions
gru_logger.h File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <stdarg.h>
#include <stdbool.h>
#include "common/gru_base.h"
#include "time/gru_time_utils.h"

Go to the source code of this file.

Typedefs

typedef enum log_level_t_ log_level_t
 
typedef void(* logger_t) (log_level_t level, const char *message,...)
 

Enumerations

enum  log_level_t_ {
  GRU_TRACE , GRU_DEBUG , GRU_INFO , GRU_WARNING ,
  GRU_ERROR , GRU_FATAL
}
 

Functions

gru_export log_level_t gru_logger_get_level (const char *str)
 Gets the log level from an input string. More...
 
gru_export bool gru_logger_can_log (log_level_t l1)
 Whether can log (ie.: whether log level 1 is greater or equal to l2, thus allowing to log) More...
 
gru_export void gru_logger_set (logger_t logger)
 Sets the logger. More...
 
gru_export logger_t gru_logger_get (void)
 Gets the logger. More...
 
gru_export void gru_logger_set_minimum (log_level_t minimum)
 Sets the minimum log level. More...
 
gru_export log_level_t gru_logger_get_minimum ()
 Gets the minimum log level. More...
 
gru_export void gru_logger_default_printer (log_level_t level, const char *msg,...)
 Default logger that logs to stdout. More...
 
gru_export void gru_logger_default_do_print (log_level_t level, const char *msg, va_list ap)
 Utility printing function that can be used by implementations of the logger printer. More...
 
gru_export void gru_logger_timed_printer (log_level_t level, const char *msg,...)
 A simple logger that logs to stderr including the time when the even happened. More...
 
gru_export void gru_logger_timed_do_print (log_level_t level, const char *msg, va_list ap)
 Utility printing function that can be used by implementations of the timed logger printer. More...
 

Typedef Documentation

◆ log_level_t

typedef enum log_level_t_ log_level_t

◆ logger_t

typedef void(* logger_t) (log_level_t level, const char *message,...)

Enumeration Type Documentation

◆ log_level_t_

Enumerator
GRU_TRACE 
GRU_DEBUG 
GRU_INFO 
GRU_WARNING 
GRU_ERROR 
GRU_FATAL 

Function Documentation

◆ gru_logger_can_log()

gru_export bool gru_logger_can_log ( log_level_t  l1)

Whether can log (ie.: whether log level 1 is greater or equal to l2, thus allowing to log)

Parameters
l1log level being checked
Returns

◆ gru_logger_default_do_print()

gru_export void gru_logger_default_do_print ( log_level_t  level,
const char *  msg,
va_list  ap 
)

Utility printing function that can be used by implementations of the logger printer.

Parameters
levelmessage level
msgthe message + additional parameters
apva_list object for variable argument list

◆ gru_logger_default_printer()

gru_export void gru_logger_default_printer ( log_level_t  level,
const char *  msg,
  ... 
)

Default logger that logs to stdout.

Parameters
levelmessage level
msgthe message + additional parameters

◆ gru_logger_get()

gru_export logger_t gru_logger_get ( void  )

Gets the logger.

Returns
the logger

◆ gru_logger_get_level()

gru_export log_level_t gru_logger_get_level ( const char *  str)

Gets the log level from an input string.

Parameters
strthe input string (ie.: info, warn, etc)
Returns
the log level

◆ gru_logger_get_minimum()

gru_export log_level_t gru_logger_get_minimum ( )

Gets the minimum log level.

Returns
the minimum log level

◆ gru_logger_set()

gru_export void gru_logger_set ( logger_t  logger)

Sets the logger.

Parameters
loggerthe new logger

◆ gru_logger_set_minimum()

gru_export void gru_logger_set_minimum ( log_level_t  minimum)

Sets the minimum log level.

Parameters
minimumthe minimum log level

◆ gru_logger_timed_do_print()

gru_export void gru_logger_timed_do_print ( log_level_t  level,
const char *  msg,
va_list  ap 
)

Utility printing function that can be used by implementations of the timed logger printer.

Parameters
levelmessage level
msgthe message + additional parameters
apva_list object for variable argument list

◆ gru_logger_timed_printer()

gru_export void gru_logger_timed_printer ( log_level_t  level,
const char *  msg,
  ... 
)

A simple logger that logs to stderr including the time when the even happened.

Parameters
levelmessage level
msgthe message + additional parameters