2014-05-06 21:11:31 +08:00
|
|
|
#pragma once
|
|
|
|
|
2014-10-10 08:36:50 +08:00
|
|
|
#include <chrono>
|
|
|
|
#include "../common.h"
|
2014-10-10 07:46:03 +08:00
|
|
|
|
2014-05-06 21:11:31 +08:00
|
|
|
namespace c11log
|
|
|
|
{
|
|
|
|
namespace details
|
|
|
|
{
|
|
|
|
struct log_msg
|
|
|
|
{
|
|
|
|
log_msg() = default;
|
2014-05-08 07:23:07 +08:00
|
|
|
log_msg(level::level_enum l):
|
2014-05-09 23:00:10 +08:00
|
|
|
logger_name(),
|
2014-05-09 20:27:06 +08:00
|
|
|
level(l),
|
|
|
|
time(),
|
|
|
|
raw(),
|
|
|
|
formatted() {}
|
|
|
|
|
|
|
|
log_msg(const log_msg& other):
|
2014-05-09 23:00:10 +08:00
|
|
|
logger_name(other.logger_name),
|
2014-05-09 20:27:06 +08:00
|
|
|
level(other.level),
|
|
|
|
time(other.time),
|
|
|
|
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 23:00:10 +08:00
|
|
|
swap(l.logger_name, r.logger_name);
|
2014-05-09 20:27:06 +08:00
|
|
|
swap(l.level, r.level);
|
|
|
|
swap(l.time, r.time);
|
|
|
|
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 23:00:10 +08:00
|
|
|
std::string logger_name;
|
2014-05-09 20:27:06 +08:00
|
|
|
level::level_enum level;
|
|
|
|
log_clock::time_point time;
|
|
|
|
std::string raw;
|
|
|
|
std::string formatted;
|
2014-05-08 07:23:07 +08:00
|
|
|
|
2014-05-06 21:11:31 +08:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|