log_msg to contain logger_name + astyle

This commit is contained in:
gabime 2014-05-09 18:00:10 +03:00
parent d2178160b0
commit f9f59a545c
7 changed files with 19 additions and 19 deletions

View File

@ -21,7 +21,9 @@ public:
stack_devicebuf(const stack_devicebuf& other) :std::basic_streambuf<char>(), _stackbuf(other._stackbuf) stack_devicebuf(const stack_devicebuf& other) :std::basic_streambuf<char>(), _stackbuf(other._stackbuf)
{} {}
stack_devicebuf(stack_devicebuf&& other) :std::basic_streambuf<char>(), _stackbuf(std::move(other._stackbuf)) stack_devicebuf(stack_devicebuf&& other):
std::basic_streambuf<char>(),
_stackbuf(std::move(other._stackbuf))
{ {
other.clear(); other.clear();
} }

View File

@ -46,6 +46,7 @@ public:
{ {
if (_enabled) if (_enabled)
{ {
_log_msg.logger_name = _callback_logger->get_name();
_log_msg.time = log_clock::now(); _log_msg.time = log_clock::now();
_log_msg.raw = _oss.str(); _log_msg.raw = _oss.str();
_callback_logger->_log_it(_log_msg); _callback_logger->_log_it(_log_msg);

View File

@ -8,6 +8,7 @@ struct log_msg
{ {
log_msg() = default; log_msg() = default;
log_msg(level::level_enum l): log_msg(level::level_enum l):
logger_name(),
level(l), level(l),
time(), time(),
raw(), raw(),
@ -15,6 +16,7 @@ struct log_msg
log_msg(const log_msg& other): log_msg(const log_msg& other):
logger_name(other.logger_name),
level(other.level), level(other.level),
time(other.time), time(other.time),
raw(other.raw), raw(other.raw),
@ -28,6 +30,7 @@ struct log_msg
friend void swap(log_msg& l, log_msg& r) friend void swap(log_msg& l, log_msg& r)
{ {
using std::swap; using std::swap;
swap(l.logger_name, r.logger_name);
swap(l.level, r.level); swap(l.level, r.level);
swap(l.time, r.time); swap(l.time, r.time);
swap(l.raw, r.raw); swap(l.raw, r.raw);
@ -48,6 +51,7 @@ struct log_msg
formatted.clear(); formatted.clear();
} }
std::string logger_name;
level::level_enum level; level::level_enum level;
log_clock::time_point time; log_clock::time_point time;
std::string raw; std::string raw;

View File

@ -5,9 +5,7 @@
#include <algorithm> #include <algorithm>
#include <cstring> #include <cstring>
// Fast memory storage // Fast memory storage on the stack when possible or in std::vector
// stores its contents on the stack when possible, in vector<char> otherwise
// NOTE: User should be remember that returned buffer might be on the stack!!
namespace c11log namespace c11log
{ {
namespace details namespace details
@ -24,11 +22,6 @@ public:
stack_buf& operator=(const stack_buf& other) = delete; stack_buf& operator=(const stack_buf& other) = delete;
stack_buf(const bufpair_t& buf_to_copy) :stack_buf()
{
append(buf_to_copy);
}
stack_buf(const stack_buf& other) stack_buf(const stack_buf& other)
{ {
_stack_size = other._stack_size; _stack_size = other._stack_size;

View File

@ -22,7 +22,7 @@ namespace formatters
class formatter class formatter
{ {
public: public:
virtual void format(const std::string& logger_name, details::log_msg& msg) = 0; virtual void format(details::log_msg& msg) = 0;
}; };
@ -30,12 +30,12 @@ class default_formatter: public formatter
{ {
public: public:
// Format: [2013-12-29 01:04:42.900] [logger_name:Info] Message body // Format: [2013-12-29 01:04:42.900] [logger_name:Info] Message body
void format(const std::string& logger_name, details::log_msg& msg) override void format(details::log_msg& msg) override
{ {
details::fast_oss oss; details::fast_oss oss;
_format_time(msg.time, oss); _format_time(msg.time, oss);
if(!logger_name.empty()) if(!msg.logger_name.empty())
oss << " [" << logger_name << ':' << c11log::level::to_str(msg.level) << "] "; oss << " [" << msg.logger_name << ':' << c11log::level::to_str(msg.level) << "] ";
else else
oss << " [" << c11log::level::to_str(msg.level) << "] "; oss << " [" << c11log::level::to_str(msg.level) << "] ";
oss << msg.raw << details::os::eol(); oss << msg.raw << details::os::eol();

View File

@ -209,7 +209,7 @@ inline bool c11log::logger::should_log(c11log::level::level_enum level) const
inline void c11log::logger::_log_it(details::log_msg& msg) inline void c11log::logger::_log_it(details::log_msg& msg)
{ {
_formatter->format(_logger_name, msg); _formatter->format(msg);
for (auto &sink : _sinks) for (auto &sink : _sinks)
sink->log(msg); sink->log(msg);
} }