blob: 74470e56fe5be4d314c5fc266033ef9cb7cdee36 [file] [log] [blame]
akmhoque85d88332014-02-17 21:11: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
akmhoqueb1710aa2014-02-19 17:13:36 -060025namespace nlsr {
akmhoque92afde42014-02-18 14:04:07 -060026
akmhoque85d88332014-02-17 21:11:21 -060027namespace logging = boost::log;
28namespace attrs = boost::log::attributes;
29namespace src = boost::log::sources;
30namespace sinks = boost::log::sinks;
31namespace expr = boost::log::expressions;
32namespace keywords = boost::log::keywords;
33
34using boost::shared_ptr;
35using namespace std;
36
37
akmhoque85d88332014-02-17 21:11:21 -060038class NlsrLogger
39{
40public:
41 NlsrLogger()
42 {
43 }
44
45 void initNlsrLogger(std::string dirPath);
46
akmhoque92afde42014-02-18 14:04:07 -060047 src::logger& getLogger()
akmhoque85d88332014-02-17 21:11:21 -060048 {
49 return mLogger;
50 }
51
52private:
53 string getEpochTime();
54 string getUserHomeDirectory();
55
56private:
akmhoque92afde42014-02-18 14:04:07 -060057 src::logger mLogger;
akmhoque85d88332014-02-17 21:11:21 -060058};
59
akmhoqueb1710aa2014-02-19 17:13:36 -060060}//namespace nlsr
akmhoque85d88332014-02-17 21:11:21 -060061#endif