client-cpp  0.0.1-SNAPSHOT
DefaultLogger.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2014 CyberVision, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef DEFAULTLOGGER_HPP_
18 #define DEFAULTLOGGER_HPP_
19 
20 #include "kaa/logging/ILogger.hpp"
21 
22 #include <boost/log/trivial.hpp>
23 
24 namespace kaa {
25 
26 class DefaultLogger : public ILogger {
27 public:
28  void ftrace (const char *message) const { log(LogLevel::FINE_TRACE, message); }
29  void debug (const char *message) const { log(LogLevel::DEBUG, message); }
30  void trace (const char *message) const { log(LogLevel::TRACE, message); }
31  void info (const char *message) const { log(LogLevel::INFO, message); }
32  void warn (const char *message) const { log(LogLevel::WARNING, message); }
33  void error (const char *message) const { log(LogLevel::ERROR, message); }
34  void fatal (const char *message) const { log(LogLevel::FATAL, message); }
35 
36 private:
37  void log (LogLevel level, const char *message) const {
38  switch (level) {
40  case LogLevel::TRACE:
41  BOOST_LOG_TRIVIAL(trace) << message;
42  break;
43  case LogLevel::DEBUG:
44  BOOST_LOG_TRIVIAL(debug) << message;
45  break;
46  case LogLevel::INFO:
47  BOOST_LOG_TRIVIAL(info) << message;
48  break;
49  case LogLevel::WARNING:
50  BOOST_LOG_TRIVIAL(warning) << message;
51  break;
52  case LogLevel::ERROR:
53  BOOST_LOG_TRIVIAL(error) << message;
54  break;
55  case LogLevel::FATAL:
56  BOOST_LOG_TRIVIAL(fatal) << message;
57  break;
58  default:
59  break;
60  }
61  }
62 };
63 
64 } // namespace kaa
65 
66 
67 #endif /* DEFAULTLOGGER_HPP_ */
void warn(const char *message) const
void ftrace(const char *message) const
void trace(const char *message) const
void fatal(const char *message) const
void debug(const char *message) const
LogLevel
Definition: ILogger.hpp:24
void error(const char *message) const
void info(const char *message) const