Commit 56ee7316 authored by gabi's avatar gabi

Fixed issue #39 User defined types no longer streamable

parent d071e5fc
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
/*************************************************************************/ /*************************************************************************/
#pragma once #pragma once
#include <type_traits>
#include "../common.h" #include "../common.h"
#include "../logger.h" #include "../logger.h"
#ifdef SPDLOG_CLOCK_COARSE #ifdef SPDLOG_CLOCK_COARSE
...@@ -70,11 +70,11 @@ public: ...@@ -70,11 +70,11 @@ public:
#ifndef SPDLOG_CLOCK_COARSE #ifndef SPDLOG_CLOCK_COARSE
_log_msg.time = log_clock::now(); _log_msg.time = log_clock::now();
#else #else
timespec ts; timespec ts;
::clock_gettime(CLOCK_REALTIME_COARSE, &ts); ::clock_gettime(CLOCK_REALTIME_COARSE, &ts);
_log_msg.time = std::chrono::time_point<log_clock, typename log_clock::duration>( _log_msg.time = std::chrono::time_point<log_clock, typename log_clock::duration>(
std::chrono::duration_cast<typename log_clock::duration>( std::chrono::duration_cast<typename log_clock::duration>(
std::chrono::seconds(ts.tv_sec) + std::chrono::nanoseconds(ts.tv_nsec))); std::chrono::seconds(ts.tv_sec) + std::chrono::nanoseconds(ts.tv_nsec)));
#endif #endif
_callback_logger->_log_msg(_log_msg); _callback_logger->_log_msg(_log_msg);
} }
...@@ -96,18 +96,85 @@ public: ...@@ -96,18 +96,85 @@ public:
} }
} }
void write(const char* what) void write(const char* what)
{ {
if (_enabled) if (_enabled)
_log_msg.raw << what; _log_msg.raw << what;
} }
void write(const std::string& what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(int what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(unsigned int what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(long what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(unsigned long what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(long long what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(unsigned long long what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(double what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(long double what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(float what)
{
if (_enabled)
_log_msg.raw << what;
}
void write(char what)
{
if (_enabled)
_log_msg.raw << what;
}
template<typename T> template<typename T>
line_logger& operator<<(const T& what) line_logger& operator<<(const T& what)
{ {
if (_enabled) if (_enabled)
_log_msg.raw << what; _log_msg.raw.write("{}", what);
return *this; return *this;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment