1

我想创建一个简单的宏,它可以做什么_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")

任何人都知道如何做到这一点?

4

1 回答 1

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");
于 2015-03-06T16:28:23.140 回答