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