2014-05-06 09:11:31 -04:00
|
|
|
#pragma once
|
|
|
|
|
2014-10-09 20:36:50 -04:00
|
|
|
#include <chrono>
|
|
|
|
#include "../common.h"
|
2014-10-09 19:46:03 -04:00
|
|
|
|
2014-05-06 09:11:31 -04:00
|
|
|
namespace c11log
|
|
|
|
{
|
|
|
|
namespace details
|
|
|
|
{
|
|
|
|
struct log_msg
|
|
|
|
{
|
|
|
|
log_msg() = default;
|
2014-05-07 19:23:07 -04:00
|
|
|
log_msg(level::level_enum l):
|
2014-05-09 11:00:10 -04:00
|
|
|
logger_name(),
|
2014-05-09 08:27:06 -04:00
|
|
|
level(l),
|
|
|
|
time(),
|
2014-10-13 20:44:40 -04:00
|
|
|
tm_time(),
|
2014-05-09 08:27:06 -04:00
|
|
|
raw(),
|
|
|
|
formatted() {}
|
|
|
|
|
|
|
|
log_msg(const log_msg& other):
|
2014-05-09 11:00:10 -04:00
|
|
|
logger_name(other.logger_name),
|
2014-05-09 08:27:06 -04:00
|
|
|
level(other.level),
|
|
|
|
time(other.time),
|
2014-10-13 20:44:40 -04:00
|
|
|
tm_time(other.tm_time),
|
2014-05-09 08:27:06 -04:00
|
|
|
raw(other.raw),
|
|
|
|
formatted(other.formatted) {}
|
|
|
|
|
|
|
|
log_msg(log_msg&& other)
|
|
|
|
{
|
|
|
|
swap(*this, other);
|
|
|
|
}
|
|
|
|
|
|
|
|
friend void swap(log_msg& l, log_msg& r)
|
|
|
|
{
|
|
|
|
using std::swap;
|
2014-05-09 11:00:10 -04:00
|
|
|
swap(l.logger_name, r.logger_name);
|
2014-05-09 08:27:06 -04:00
|
|
|
swap(l.level, r.level);
|
|
|
|
swap(l.time, r.time);
|
2014-10-13 20:44:40 -04:00
|
|
|
swap(l.tm_time, r.tm_time);
|
2014-05-09 08:27:06 -04:00
|
|
|
swap(l.raw, r.raw);
|
|
|
|
swap(l.formatted, r.formatted);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
log_msg& operator=(log_msg other)
|
|
|
|
{
|
|
|
|
swap(*this, other);
|
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void clear()
|
|
|
|
{
|
|
|
|
raw.clear();
|
|
|
|
formatted.clear();
|
|
|
|
}
|
|
|
|
|
2014-05-09 11:00:10 -04:00
|
|
|
std::string logger_name;
|
2014-05-09 08:27:06 -04:00
|
|
|
level::level_enum level;
|
|
|
|
log_clock::time_point time;
|
2014-10-13 20:44:40 -04:00
|
|
|
std::tm tm_time;
|
2014-05-09 08:27:06 -04:00
|
|
|
std::string raw;
|
|
|
|
std::string formatted;
|
2014-05-07 19:23:07 -04:00
|
|
|
|
2014-10-13 20:44:40 -04:00
|
|
|
|
2014-05-06 09:11:31 -04:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|