#include "madara/MadaraExport.h"
#include "madara/LockType.h"
#include <vector>
#include <atomic>
#include <string>
#include <stdio.h>
#include "madara/utility/IntTypes.h"
#include "Logger.inl"
Go to the source code of this file.
|
| madara |
| Copyright(c) 2020 Galois.
|
|
| madara::logger |
| Provides knowledge logging services to files and terminals.
|
|
|
#define | madara_logger_checked_ptr_log(loggering, level, ...) |
| Fast version of the madara::logger::log method for Logger pointers. More...
|
|
#define | madara_logger_cond_log( conditional, loggering, alt_logger_ptr, level, ...) |
| High-performance logger that performs conditional logging based on first arg. More...
|
|
#define | madara_logger_cond_log_ptrs( conditional, logger_ptr, alt_logger_ptr, level, ...) |
| High-performance logger that performs conditional logging based on first arg. More...
|
|
#define | madara_logger_log(loggering, level, ...) |
| Fast version of the madara::logger::log method. More...
|
|
#define | madara_logger_ptr_log(loggering, level, ...) |
| Fast version of the madara::logger::log method for Logger pointers. More...
|
|
◆ madara_logger_checked_ptr_log
#define madara_logger_checked_ptr_log |
( |
|
loggering, |
|
|
|
level, |
|
|
|
... |
|
) |
| |
Value:
{ \
{ \
loggering->log(level, __VA_ARGS__); \
} \
} \
else if (loggering && level <= loggering->get_level()) \
{ \
loggering->log(level, __VA_ARGS__); \
}
static int get_thread_level(void)
Fetches thread local storage value for thread level.
Fast version of the madara::logger::log method for Logger pointers.
This macro uses compiler optimizations to ensure that args are not evaluated unless the level is appropriate for the loggers level. This makes logging transparent and minimally invasive, performance wise
- Parameters
-
loggering | the logger pointer to use |
level | the logging level |
Definition at line 62 of file Logger.h.
◆ madara_logger_cond_log
#define madara_logger_cond_log |
( |
|
conditional, |
|
|
|
loggering, |
|
|
|
alt_logger_ptr, |
|
|
|
level, |
|
|
|
... |
|
) |
| |
Value:
{ \
{ \
loggering.log(level, __VA_ARGS__); \
} \
else \
{ \
alt_logger_ptr->log(level, __VA_ARGS__); \
} \
} \
else if (conditional && level <= loggering.get_level()) \
{ \
loggering.log(level, __VA_ARGS__); \
} \
else \
{ \
alt_logger_ptr->log(level, __VA_ARGS__); \
}
High-performance logger that performs conditional logging based on first arg.
- Parameters
-
conditional | the primary logger pointer to use (if not null) |
loggering | the logger that will be used if conditional is true |
alt_logger_ptr | the secondary logger pointer to use (should be not null) |
level | the logging level |
Definition at line 114 of file Logger.h.
◆ madara_logger_cond_log_ptrs
#define madara_logger_cond_log_ptrs |
( |
|
conditional, |
|
|
|
logger_ptr, |
|
|
|
alt_logger_ptr, |
|
|
|
level, |
|
|
|
... |
|
) |
| |
Value: if (conditional && \
{ \
{ \
logger_ptr->log(level, __VA_ARGS__); \
} \
else \
{ \
alt_logger_ptr->log(level, __VA_ARGS__); \
} \
} \
else if (conditional && level <= logger_ptr->get_level()) \
{ \
logger_ptr->log(level, __VA_ARGS__); \
} \
else \
{ \
alt_logger_ptr->log(level, __VA_ARGS__); \
}
High-performance logger that performs conditional logging based on first arg.
- Parameters
-
conditional | the primary logger pointer to use (if not null) |
logger_ptr | the logger that will be used if conditional is true |
alt_logger_ptr | the secondary logger pointer to use (should be not null) |
level | the logging level |
Definition at line 83 of file Logger.h.
◆ madara_logger_log
#define madara_logger_log |
( |
|
loggering, |
|
|
|
level, |
|
|
|
... |
|
) |
| |
Value:
{ \
{ \
loggering.log(level, __VA_ARGS__); \
} \
} \
else if (level <= loggering.get_level()) \
{ \
loggering.log(level, __VA_ARGS__); \
}
Fast version of the madara::logger::log method.
This macro uses compiler optimizations to ensure that args are not evaluated unless the level is appropriate for the loggers level. This makes logging transparent and minimally invasive, performance wise
- Parameters
-
loggering | the logger instance to use |
level | the logging level |
Definition at line 20 of file Logger.h.
◆ madara_logger_ptr_log
#define madara_logger_ptr_log |
( |
|
loggering, |
|
|
|
level, |
|
|
|
... |
|
) |
| |
Value:
{ \
{ \
loggering->log(level, __VA_ARGS__); \
} \
} \
else if (level <= loggering->get_level()) \
{ \
loggering->log(level, __VA_ARGS__); \
}
Fast version of the madara::logger::log method for Logger pointers.
This macro uses compiler optimizations to ensure that args are not evaluated unless the level is appropriate for the loggers level. This makes logging transparent and minimally invasive, performance wise
- Parameters
-
loggering | the logger to use |
level | the logging level |
Definition at line 41 of file Logger.h.