easyloggingpp icon indicating copy to clipboard operation
easyloggingpp copied to clipboard

Logger doesn`t log lines with string and stl container as value, while global LOG macro does

Open Voldemat opened this issue 6 months ago • 0 comments

#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]

Voldemat avatar Aug 21 '24 22:08 Voldemat