Easylogging ++ как настроить с помощью одного макроса?

Я хотел бы создать простой макрос, который делает то, что _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")

У кого-нибудь есть идеи, как это сделать?

1

Решение

Вы должны создать такую ​​функцию:

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");
2

Другие решения


По вопросам рекламы [email protected]