Rev 1594 | Rev 1603 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 1594 | Rev 1600 | ||
|---|---|---|---|
| Line 20... | Line 20... | ||
| 20 | 20 | ||
| 21 | #include "Logger.h" |
21 | #include "Logger.h" |
| 22 | 22 | ||
| 23 | #include <iostream> |
23 | #include <iostream> |
| 24 | 24 | ||
| - | 25 | #include <syslog.h> |
|
| - | 26 | ||
| 25 | #include |
27 | #include <boost/date_time.hpp> |
| 26 | 28 | ||
| 27 | namespace atom { |
29 | namespace atom { |
| 28 | namespace logging { |
30 | namespace logging { |
| 29 | 31 | ||
| 30 | Logger::Level Logger::level_ = Logger::LEVEL_ALL; |
32 | Logger::Level Logger::level_ = Logger::LEVEL_ALL; |
| Line 33... | Line 35... | ||
| 33 | 35 | ||
| 34 | Logger::Logger(std::string name) |
36 | Logger::Logger(std::string name) |
| 35 | { |
37 | { |
| 36 | this->name_ = name; |
38 | this->name_ = name; |
| 37 | this->name_.insert(this->name_.end(), 20 - this->name_.size(), ' '); |
39 | this->name_.insert(this->name_.end(), 20 - this->name_.size(), ' '); |
| - | 40 | ||
| - | 41 | openlog("Atom", LOG_ODELAY, LOG_DAEMON); |
|
| 38 | } |
42 | } |
| 39 | 43 | ||
| 40 | Logger::~Logger() |
44 | Logger::~Logger() |
| 41 | { |
45 | { |
| 42 | 46 | closelog(); |
|
| 43 | } |
47 | } |
| 44 | 48 | ||
| 45 | void Logger::SetLevel(Level level) |
49 | void Logger::SetLevel(Level level) |
| 46 | { |
50 | { |
| 47 | Logger::level_ = level; |
51 | Logger::level_ = level; |
| 48 | } |
52 | } |
| 49 | 53 | ||
| 50 | bool Logger::OpenFile(std::string filename) |
54 | bool Logger::OpenFile(std::string filename) |
| 51 | { |
55 | { |
| 52 | Logger::file_.open(filename.data(), std::ios::app); |
56 | Logger::file_.open(filename.data(), std::ios::app); |
| 53 | 57 | ||
| 54 | return Logger::file_.is_open(); |
58 | return Logger::file_.is_open(); |
| 55 | } |
59 | } |
| 56 | 60 | ||
| 57 | void Logger::CloseFile() |
61 | void Logger::CloseFile() |
| 58 | { |
62 | { |
| 59 | Logger::file_.close(); |
63 | Logger::file_.close(); |
| 60 | } |
64 | } |
| 61 | 65 | ||
| Line 70... | Line 74... | ||
| 70 | void Logger::Warning(std::string message) |
74 | void Logger::Warning(std::string message) |
| 71 | { |
75 | { |
| 72 | if (Logger::level_ >= Logger::LEVEL_WARNING) |
76 | if (Logger::level_ >= Logger::LEVEL_WARNING) |
| 73 | { |
77 | { |
| 74 | this->Print(" WARN " + this->name_ + message); |
78 | this->Print(" WARN " + this->name_ + message); |
| 75 | } |
79 | } |
| 76 | } |
80 | } |
| 77 | 81 | ||
| 78 | void Logger::Info(std::string message) |
82 | void Logger::Info(std::string message) |
| 79 | { |
83 | { |
| 80 | if (Logger::level_ >= Logger::LEVEL_INFO) |
84 | if (Logger::level_ >= Logger::LEVEL_INFO) |
| 81 | { |
85 | { |
| Line 101... | Line 105... | ||
| 101 | 105 | ||
| 102 | if (Logger::file_.is_open()) |
106 | if (Logger::file_.is_open()) |
| 103 | { |
107 | { |
| 104 | Logger::file_ << date_and_time << line << std::endl; |
108 | Logger::file_ << date_and_time << line << std::endl; |
| 105 | } |
109 | } |
| - | 110 | ||
| - | 111 | syslog(LOG_INFO, "%s", line.data()); |
|
| 106 | 112 | ||
| 107 | this->mutex_.unlock(); |
113 | this->mutex_.unlock(); |
| 108 | } |
114 | } |
| 109 | 115 | ||
| 110 | }; // namespace logging |
116 | }; // namespace logging |