2
3
6
7
11#include <restinio/null_mutex.hpp>
13#include <restinio/impl/include_fmtlib.hpp>
29
30
31template <
typename Lock >
46 template<
typename Message_Builder >
48 trace( Message_Builder && msg_builder )
53 template<
typename Message_Builder >
55 info( Message_Builder && msg_builder )
60 template<
typename Message_Builder >
62 warn( Message_Builder && msg_builder )
67 template<
typename Message_Builder >
69 error( Message_Builder && msg_builder )
78 std::lock_guard< Lock > lock{
m_lock };
80 namespace stdchrono = std::chrono;
82 auto now = stdchrono::system_clock::now();
83 auto ms = stdchrono::duration_cast<
84 stdchrono::milliseconds >( now.time_since_epoch() );
85 std::time_t unix_time = stdchrono::duration_cast<
86 stdchrono::seconds >( ms ).count();
91 "[{:%Y-%m-%d %H:%M:%S}.{:03d}] {}: {}" ),
92 make_localtime( unix_time ),
93 static_cast<
int >( ms.count() % 1000u ),
ostream_logger_t(std::ostream &out) noexcept
void trace(Message_Builder &&msg_builder)
ostream_logger_t() noexcept
void info(Message_Builder &&msg_builder)
void log_message(const char *tag, const std::string &msg)
void error(Message_Builder &&msg_builder)
void warn(Message_Builder &&msg_builder)
ostream_logger_t & operator=(const ostream_logger_t &)=delete
ostream_logger_t(const ostream_logger_t &)=delete
#define RESTINIO_FMT_FORMAT_STRING(s)
ostream_logger_t< null_mutex_t > single_threaded_ostream_logger_t
ostream_logger_t< std::mutex > shared_ostream_logger_t
A class to be used as null_mutex.