15#include <unordered_map>
23#define M_PI 3.14159265358979323846
70 static std::map<std::string, std::unique_ptr<InternalLogger>> self_map;
72 constexpr static std::uint32_t internal_log_size = 0x200000;
73 std::mutex internal_log_mutex;
95 const std::string& str2,
void* userData,
100 if (InternalLogger::self_map.find(name) == InternalLogger::self_map.end()) {
101 InternalLogger::self_map.insert(
102 {name, std::make_unique<InternalLogger>()});
103 InternalLogger::self_map.at(name).get()->name = name;
104 InternalLogger::self_map.at(name).get()->type = 0;
105 InternalLogger::self_map.at(name).get()->assertEqCallback =
nullptr;
106 InternalLogger::self_map.at(name).get()->m_pop =
true;
108 return InternalLogger::self_map.at(name).get();
111 static void setType(
const std::string& name, uint32_t type) {
112 InternalLogger::self_map.at(name).get()->type = type;
125 void log(
const loguru::Message& message) {
126 std::unique_lock<std::mutex> lk(internal_log_mutex);
134 auto pos =
g_internal_log.find_first_of(
'\n', internal_log_size >> 3u);
137 }
else if (type == 1) {
140 logIndVec.push_back(message.indentation);
144 for (
size_t i = 0; i < loopSize; i++) {
166 static std::string&
get_log(
const std::string& name) {
168 std::unique_lock<std::mutex> lk(pil->internal_log_mutex);
175 const loguru::Message& message) {
181 const std::string& str1,
182 const std::string& str2,
void* userData,
Manages communication and control for an external autotuning process.
Definition standalone_autotuning.h:271
bool g_eol_mode
Definition global.cc:35
std::string g_driver_name
Definition global.cc:18
std::vector< std::recursive_mutex > g_soem_mailbox_mutexes
Definition global.cc:27
std::string g_soem_mac_address
Definition global.cc:25
uint16_t g_pub_sub_port
Definition global.cc:23
std::vector< std::string > g_ethernet_ip_addresses
Definition global.cc:49
uint8 g_pIOmap[4096]
Definition global.cc:14
size_t g_mock_devices
Definition global.cc:31
std::string g_templates_path
Definition global.cc:32
std::atomic< int > g_slavecount
Definition global.cc:28
std::filesystem::path g_data_dir
Definition global.cc:33
volatile sig_atomic_t g_sig_caught
Definition global.cc:16
std::atomic< bool > g_pdo_mapping_in_progress
Definition global.cc:29
std::string g_ethernet_pdo_mode
Definition global.cc:50
MasterType g_master_type
Definition global.cc:20
uint16_t g_req_res_port
Definition global.cc:22
std::string g_soem_ifname
Definition global.cc:26
MasterType
Definition global.h:35
@ kUnspecified
Definition global.h:35
@ kSoem
Definition global.h:35
@ kMock
Definition global.h:35
@ kSpoe
Definition global.h:35
void g_soem_update_slavecount()
Definition global.cc:39
StandaloneAutotuning g_standalone_autotuning
Logging class.
Definition global.h:68
void setAssertEqCallback(void(*func)(const std::string &pre, const std::string &str1, const std::string &str2, void *userData, int &retval))
Definition global.h:180
static void log_to_internal_log(void *user_data, const loguru::Message &message)
Definition global.h:174
bool m_pop
Definition global.h:92
void log(const loguru::Message &message)
Callback from loguru.
Definition global.h:125
void clearPop()
Definition global.h:194
std::deque< void * > assertEqUserDataQue
Definition global.h:90
std::vector< std::string > logPreVec
Definition global.h:82
std::deque< std::string > assertEqStrQue
Definition global.h:89
void resetState()
Definition global.h:196
std::string g_internal_log_copy
Definition global.h:80
static std::string & get_log(const std::string &name)
Definition global.h:166
static void setType(const std::string &name, uint32_t type)
Definition global.h:111
void(* assertEqCallback)(const std::string &pre, const std::string &str1, const std::string &str2, void *userData, int &retval)
Definition global.h:94
std::vector< std::string > logIndVec
Definition global.h:86
static InternalLogger * getInstance(const std::string &name)
Definition global.h:99
std::vector< std::string > logMsgVec
Definition global.h:84
std::string g_internal_log
Definition global.h:79
void setPop()
Definition global.h:193
void pushAssertEq(const std::string &str, void *userData=nullptr)
Definition global.h:188