blob: 129fe3064d534e80e253669ff3ba0a1d4dc5f621 [file] [log] [blame]
akmhoqueba094742014-02-28 11:47:21 -06001#ifndef NLSR_LOGGER_HPP
2#define NLSR_LOGGER_HPP
3
4#define BOOST_LOG_DYN_LINK 1
5
6#include <stdexcept>
7#include <string>
8#include <iostream>
9#include <sstream>
10#include <pwd.h>
11#include <cstdlib>
12#include <string>
13#include <unistd.h>
14#include <boost/format.hpp>
15#include <boost/smart_ptr/shared_ptr.hpp>
16#include <boost/date_time/posix_time/posix_time.hpp>
17#include <boost/date_time/local_time/local_time.hpp>
18#include <boost/log/common.hpp>
19#include <boost/log/expressions.hpp>
20#include <boost/log/attributes.hpp>
21#include <boost/log/sources/logger.hpp>
22#include <boost/log/sinks/sync_frontend.hpp>
23#include <boost/log/sinks/text_file_backend.hpp>
24
25namespace nlsr
26{
27
akmhoque5a44dd42014-03-12 18:11:32 -050028 namespace logging = boost::log;
29 namespace attrs = boost::log::attributes;
30 namespace src = boost::log::sources;
31 namespace sinks = boost::log::sinks;
32 namespace expr = boost::log::expressions;
33 namespace keywords = boost::log::keywords;
akmhoqueba094742014-02-28 11:47:21 -060034
akmhoque5a44dd42014-03-12 18:11:32 -050035 using boost::shared_ptr;
36 using namespace std;
akmhoqueba094742014-02-28 11:47:21 -060037
38
akmhoque5a44dd42014-03-12 18:11:32 -050039 class NlsrLogger
40 {
41 public:
42 NlsrLogger()
akmhoqueba094742014-02-28 11:47:21 -060043 {
akmhoque5a44dd42014-03-12 18:11:32 -050044 }
akmhoqueba094742014-02-28 11:47:21 -060045
akmhoque5a44dd42014-03-12 18:11:32 -050046 void initNlsrLogger(std::string dirPath);
akmhoqueba094742014-02-28 11:47:21 -060047
akmhoque5a44dd42014-03-12 18:11:32 -050048 src::logger& getLogger()
49 {
50 return mLogger;
51 }
akmhoqueba094742014-02-28 11:47:21 -060052
akmhoque5a44dd42014-03-12 18:11:32 -050053 private:
54 string getEpochTime();
55 string getUserHomeDirectory();
akmhoqueba094742014-02-28 11:47:21 -060056
akmhoque5a44dd42014-03-12 18:11:32 -050057 private:
58 src::logger mLogger;
59 };
akmhoqueba094742014-02-28 11:47:21 -060060
61}//namespace nlsr
62#endif