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