21 #include "gmlc/concurrency/TripWire.hpp"
22 #include "gmlc/containers/BlockingQueue.hpp"
37 static std::atomic<bool> fastShutdown;
40 std::vector<std::function<void(std::string&& message)>>
42 std::mutex functionLock;
43 gmlc::containers::BlockingQueue<std::pair<int32_t, std::string>>
45 gmlc::concurrency::TripWireDetector tripDetector;
62 void addMessage(
int index,
const std::string& message);
67 void addMessage(
int index, std::string&& message);
71 int addFileProcessor(std::function<
void(std::string&& message)> newFunction);
76 std::function<
void(std::string&& message)> newFunction);
81 void processingLoop();
87 static std::map<std::string, std::shared_ptr<LoggerManager>>
90 std::shared_ptr<LoggingCore> loggingControl;
95 static std::shared_ptr<LoggerManager>
getLoggerManager(
const std::string& loggerName =
"");
97 static std::shared_ptr<LoggingCore>
getLoggerCore(
const std::string& loggerName =
"");
101 static void closeLogger(
const std::string& loggerName =
"");
108 const std::string&
getName()
const {
return name; }
Definition: loggerCore.hpp:85
static void logMessage(std::string message)
Definition: loggerCore.cpp:210
static std::shared_ptr< LoggingCore > getLoggerCore(const std::string &loggerName="")
Definition: loggerCore.cpp:196
static void closeLogger(const std::string &loggerName="")
Definition: loggerCore.cpp:201
static std::shared_ptr< LoggerManager > getLoggerManager(const std::string &loggerName="")
Definition: loggerCore.cpp:180
const std::string & getName() const
Definition: loggerCore.hpp:108
Definition: loggerCore.hpp:35
void updateProcessingFunction(int index, std::function< void(std::string &&message)> newFunction)
Definition: loggerCore.cpp:100
~LoggingCore()
Definition: loggerCore.cpp:36
static void setFastShutdown()
Definition: loggerCore.cpp:86
void haltOperations(int loggerIndex)
Definition: loggerCore.cpp:91
void addMessage(const std::string &message)
Definition: loggerCore.cpp:58
LoggingCore()
Definition: loggerCore.cpp:31
int addFileProcessor(std::function< void(std::string &&message)> newFunction)
Definition: loggerCore.cpp:72
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14