我想创建一个简单的宏来执行_INITIALIZE_EASYLOGGINGPP
所做的事情,但是接受像这样的配置字符串:
"*GLOBAL:\nFILENAME = my_app.log\nFORMAT = %datetime{%Y.%M.%d-%H.%m.%s.%g}, %level, %msg\n*INFO:\n ENABLED=false"
然后宏将替换:
_INITIALIZE_EASYLOGGINGPP
通过
INITIALIZE_ELPP_WITH_CONFIG("myconfigstring")
任何人都知道如何做到这一点?
答案 0 :(得分:2)
你应该创建一个像这样的函数:
void initializeLogs(const char* config_string)
{
_INITIALIZE_EASYLOGGINGPP
easyloggingpp::Configurations c;
c.setToDefault();
c.parseFromText(config_string);
easyloggingpp::Loggers::reconfigureAllLoggers(confFromFile);
}
然后致电:
initializeLogs("*GLOBAL:\nFILENAME = my_app.log\nFORMAT = %datetime{%Y.%M.%d-%H.%m.%s.%g}, %level, %msg\n*INFO:\n ENABLED=false");