4#include "../config/INIReader.h"
5#include "../logs/Xulog.h"
6#include <unordered_map>
26 using ptr = std::shared_ptr<Config>;
27 using config_map = std::unordered_map<std::string, std::unordered_map<std::string, std::string>>;
35 _instance = std::make_shared<Config>(filename);
50 std::string
get(
const std::string §ion,
const std::string &name)
55 auto name_it = sec_it->second.find(name);
56 if (name_it != sec_it->second.end())
58 return name_it->second;
69 std::string ret = reader.
Get(
"Server",
"port",
"8888");
71 ret = reader.
Get(
"StdoutSink",
"color",
"");
77 ret = reader.
Get(
"FileSink",
"path",
"");
83 ret = reader.
Get(
"RollBySize",
"path",
"");
86 std::string r = reader.
Get(
"RollBySize",
"size",
"1024");
91 ret = reader.
Get(
"RollByTime",
"path",
"");
94 std::string r = reader.
Get(
"RollByTime",
"type",
"GAP_SECOND");
99 ret = reader.
Get(
"DataBaseSink",
"path",
"");
#define ERROR(fmt,...)
使用默认日志器打印错误信息
Definition Xulog.h:104
Definition INIReader.h:18
std::string Get(std::string section, std::string name, std::string default_value)
Definition INIReader.cpp:28
int ParseError()
Definition INIReader.cpp:23
用于读取和存储配置文件的类
Definition config.hpp:13
static ptr _instance
配置文件操作句柄
Definition config.hpp:108
void init(INIReader &reader)
读取配置文件并写入到映射表中
Definition config.hpp:67
Config(const std::string &filename)
构造函数
Definition config.hpp:17
std::unordered_map< std::string, std::unordered_map< std::string, std::string > > config_map
从section和name获取value的映射表
Definition config.hpp:27
std::string get(const std::string §ion, const std::string &name)
获取配置文件的值
Definition config.hpp:50
std::shared_ptr< Config > ptr
配置管理句柄
Definition config.hpp:26
static Config::ptr getInstance()
获取配置文件操作句柄
Definition config.hpp:40
config_map _config_data
从section和name获取value的映射表
Definition config.hpp:107
static Config::ptr getInstance(const std::string &filename)
获取配置文件操作句柄
Definition config.hpp:32