Files
cariflex/tools/EVerest-main/modules/EVSE/EvseV2G/tests/log.cpp
Eric F d398a6ced2 Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter
- CitrineOS core extracted (CSMS OCPP 2.0.1)
- OpenOCPP extracted (firmware OCPP 1.6J/2.0.1)
- ShapeShifter library installed (pip install -e)
- ShapeShifter specification extracted
- EVerest extracted

TODO updated with progress
2026-06-08 00:38:27 -04:00

46 lines
1.2 KiB
C++

// SPDX-License-Identifier: Apache-2.0
// Copyright 2020 - 2023 Pionix GmbH and Contributors to EVerest
#include "utest_log.hpp"
#include <cstdarg>
#include <cstdio>
#include <algorithm>
#include <array>
#include <map>
namespace {
std::map<dloglevel_t, std::vector<std::string>> logged_events;
void add_log(dloglevel_t loglevel, const std::string& event) {
logged_events[loglevel].push_back(event);
}
} // namespace
namespace module::stub {
std::vector<std::string>& get_logs(dloglevel_t loglevel) {
return logged_events[loglevel];
}
void clear_logs() {
logged_events.clear();
}
} // namespace module::stub
void dlog_func(const dloglevel_t loglevel, const char* filename, const int linenumber, const char* functionname,
const char* format, ...) {
va_list ap;
std::array<char, 256> buffer;
va_start(ap, format);
std::size_t len = std::vsnprintf(buffer.data(), buffer.size(), format, ap);
va_end(ap);
if (len > 0) {
auto s_len = std::min(len, buffer.size());
std::string event{buffer.data(), s_len};
(void)std::fprintf(stderr, "log: %s\n", event.c_str());
add_log(loglevel, event);
}
}