1 #include "lib/logmessage.hpp"
2 
3 using namespace lib;
4 
log_message(const date_time & time,log_type log_type,const std::string & message)5 log_message::log_message(const date_time &time, log_type log_type,
6 	const std::string &message)
7 	: time(time),
8 	logType(log_type),
9 	message(std::string(message))
10 {
11 }
12 
log_message(log_type log_type,const std::string & message)13 log_message::log_message(log_type log_type, const std::string &message)
14 	: log_message(date_time::now(), log_type, message)
15 {
16 }
17 
to_string() const18 std::string log_message::to_string() const
19 {
20 	return fmt::format("[{}] [{}] {}", get_time(),
21 		get_type_short(), message);
22 }
23 
get_type_short() const24 std::string log_message::get_type_short() const
25 {
26 	switch (logType)
27 	{
28 		case log_type::information:
29 			return "info";
30 
31 		case log_type::warning:
32 			return "warn";
33 
34 		case log_type::error:
35 			return "err ";
36 
37 		case log_type::verbose:
38 			return "dev ";
39 	}
40 
41 	return std::string();
42 }
43 
get_time() const44 std::string log_message::get_time() const
45 {
46 	return time.to_time();
47 }
48 
get_type() const49 std::string log_message::get_type() const
50 {
51 	switch (logType)
52 	{
53 		case log_type::information:
54 			return "Information";
55 
56 		case log_type::warning:
57 			return "Warning";
58 
59 		case log_type::error:
60 			return "Error";
61 
62 		case log_type::verbose:
63 			return "Developer";
64 	}
65 
66 	return std::string();
67 }
68 
get_message() const69 std::string log_message::get_message() const
70 {
71 	return message;
72 }
73