27 #ifndef NANO_LOG_HEADER_GUARD    28 #define NANO_LOG_HEADER_GUARD    34 #include <type_traits>    55         void stringify(std::ostream & os);
    74         template < 
typename Arg >
    75         typename std::enable_if < std::is_same < Arg, char const * >::value, 
NanoLogLine& >::type
    76         operator<<(Arg 
const & arg)
    82         template < 
typename Arg >
    83         typename std::enable_if < std::is_same < Arg, char * >::value, 
NanoLogLine& >::type
    84         operator<<(Arg 
const & arg)
    99         template < 
typename Arg >
   100         void encode(Arg arg);
   102         template < 
typename Arg >
   103         void encode(Arg arg, uint8_t type_id);
   105         void encode(
char * arg);
   106         void encode(
char const * arg);
   108         void encode_c_string(
char const * arg, 
size_t length);
   109         void resize_buffer_if_needed(
size_t additional_bytes);
   110         void stringify(std::ostream & os, 
char * start, 
char const * 
const end);
   116         char m_stack_buffer[256 - 2 * 
sizeof(size_t) - 
sizeof(decltype(m_heap_buffer)) - 8 ];
   164     void initialize(
GuaranteedLogger gl, std::string 
const & log_directory, std::string 
const & log_file_name, uint32_t log_file_roll_size_mb);
   165     void initialize(
NonGuaranteedLogger ngl, std::string 
const & log_directory, std::string 
const & log_file_name, uint32_t log_file_roll_size_mb);
   169 #define NANO_LOG(LEVEL) nanolog::NanoLog() == nanolog::NanoLogLine(LEVEL, __FILE__, __func__, __LINE__)   170 #define LOG_INFO nanolog::is_logged(nanolog::LogLevel::INFO) && NANO_LOG(nanolog::LogLevel::INFO)   171 #define LOG_WARN nanolog::is_logged(nanolog::LogLevel::WARN) && NANO_LOG(nanolog::LogLevel::WARN)   172 #define LOG_CRIT nanolog::is_logged(nanolog::LogLevel::CRIT) && NANO_LOG(nanolog::LogLevel::CRIT) string_literal_t(char const *s)
Definition: NanoLog.h:92
LogLevel
Definition: NanoLog.h:44
char const  * m_s
Definition: NanoLog.h:93
size_t m_bytes_used
Definition: NanoLog.h:113
NonGuaranteedLogger(uint32_t ring_buffer_size_mb_)
Definition: NanoLog.h:143
Namespace consiting of the nanolog logger This logger is a third party application that was added to ...
Definition: NanoLog.h:42
uint32_t ring_buffer_size_mb
Definition: NanoLog.h:144
NanoLogLine & operator<<(const char(&arg)[N])
Definition: NanoLog.h:66
Definition: NanoLog.h:141
Definition: NanoLog.h:150
std::unique_ptr< char [] > m_heap_buffer
Definition: NanoLog.h:115
void initialize(GuaranteedLogger gl, std::string const &log_directory, std::string const &log_file_name, uint32_t log_file_roll_size_mb)
Definition: NanoLog.cpp:692
size_t m_buffer_size
Definition: NanoLog.h:114
void set_log_level(LogLevel level)
Definition: NanoLog.cpp:700
Definition: NanoLog.h:119
bool is_logged(LogLevel level)
Definition: NanoLog.cpp:705