easyloggingpp
easyloggingpp copied to clipboard
Logger doesn`t log lines with string and stl container as value, while global LOG macro does
#include <string>
#include <vector>
#define ELPP_STL_LOGGING
#include "easylogging++.h"
INITIALIZE_EASYLOGGINGPP
int main() {
auto& mainLogger = *el::Loggers::getLogger("main");
std::vector<std::string> check = {"check1", "check2"};
LOG(INFO) << "Global log: " << check;
mainLogger.info("Logger log: ", check);
LOG(INFO) << "Global log 2: " << check;
return 0;
};
Output:
2024-08-22 03:10:59,186 INFO [default] Global log: [check1, check2]
2024-08-22 03:10:59,186 INFO [default] Global log 2: [check1, check2]
Expected output:
2024-08-22 03:10:59,186 INFO [default] Global log: [check1, check2]
2024-08-22 03:10:59,186 INFO [main] Logger log: [check1, check2]
2024-08-22 03:10:59,186 INFO [default] Global log 2: [check1, check2]
If you remove first string from mainLogger.info call, specified value appears as expected.
#include <string>
#include <vector>
#define ELPP_STL_LOGGING
#include "easylogging++.h"
INITIALIZE_EASYLOGGINGPP
int main() {
auto& mainLogger = *el::Loggers::getLogger("main");
std::vector<std::string> check = {"check1", "check2"};
LOG(INFO) << "Global log: " << check;
mainLogger.info(check);
LOG(INFO) << "Global log 2: " << check;
return 0;
};
Output
2024-08-22 03:12:14,085 INFO [default] Global log: [check1, check2]
2024-08-22 03:12:14,085 INFO [main] [check1, check2]
2024-08-22 03:12:14,085 INFO [default] Global log 2: [check1, check2]