OMSimulatorLib
The OMSimulator project is a FMI-based co-simulation environment that supports ordinary (i.e., non-delayed) and TLM connections.
Classes | Macros
Logging.h File Reference
#include "Types.h"
#include <string>
#include <fstream>
#include <mutex>
Include dependency graph for Logging.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Log
 

Macros

#define __FUNCTION_NAME__   __func__
 
#define logInfo(msg)   Log::Info(msg)
 
#define logWarning(msg)   Log::Warning(msg)
 
#define logError(msg)   Log::Error(msg, __func__)
 
#define logDebugEnabled()   Log::DebugEnabled()
 
#define logTraceEnabled()   Log::TraceEnabled()
 
#define logDebug(msg)   Log::Debug(msg)
 
#define logTrace()   Log::Trace(__FUNCTION_NAME__, __FILE__, __LINE__)
 
#define logError_AlreadyInScope(cref)   logError("\"" + std::string(cref) + "\" already exists in the scope")
 
#define logError_AlreadyInScope(cref)   logError("\"" + std::string(cref) + "\" already exists in the scope")
 
#define logError_BusAndConnectorNotSameModel(bus, connector)   logError("Bus \"" + std::string(bus) + "\" and connector \"" + std::string(connector) + "\" do not belong to same model")
 
#define logError_BusAndConnectorNotSameSystem(bus, connector)   logError("Bus \"" + std::string(bus) + "\" and connector \"" + std::string(connector) + "\" do not belong to same system")
 
#define logError_BusNotInComponent(cref, component)   logError("Bus connector \"" + std::string(cref) + "\" not found in component \"" + std::string(component->getFullCref()) + "\"")
 
#define logError_BusNotInSystem(cref, system)   logError("Bus connector \"" + std::string(cref) + "\" not found in system \"" + std::string(system->getFullCref()) + "\"")
 
#define logError_ComponentNotInSystem(system, component)   logError("System \"" + std::string(system->getFullCref()) + "\" does not contain component \"" + std::string(component) + "\"")
 
#define logError_ConnectionExistsAlready(crefA, crefB, system)   logError("Connection <\"" + std::string(crefA) + "\", \"" + std::string(crefB) + "\"> exists already in system \"" + std::string(system->getFullCref()) + "\"")
 
#define logError_ConnectionNotInSystem(crefA, crefB, system)   logError("Connection <\"" + std::string(crefA) + "\", \"" + std::string(crefB) + "\"> not found in system \"" + std::string(system->getFullCref()) + "\"")
 
#define logError_ConnectorNotInComponent(cref, component)   logError("Connector \"" + std::string(cref) + "\" not found in component \"" + std::string(component->getFullCref()) + "\"")
 
#define logError_ConnectorNotInSystem(cref, system)   logError("Connector \"" + std::string(cref) + "\" not found in system \"" + std::string(system->getFullCref()) + "\"")
 
#define logError_FMUCall(call, fmu)   logError(std::string(call) + " failed for FMU \"" + std::string(fmu->getFullCref()) + "\"")
 
#define logError_Initialization(system)   logError("Initialization of system \"" + std::string(system) + "\" failed")
 
#define logError_InternalError   logError("internal error")
 
#define logError_InvalidIdent(cref)   logError("\"" + std::string(cref) + "\" is not a valid ident")
 
#define logError_InvalidIdent(cref)   logError("\"" + std::string(cref) + "\" is not a valid ident")
 
#define logError_ModelInWrongState(model)   logError("Model \"" + std::string(model->getCref()) + "\" is in wrong model state")
 
#define logError_ModelNotInScope(cref)   logError("Model \"" + std::string(cref) + "\" does not exist in the scope")
 
#define logError_NoConnectorsInTLMBus(cref)   logError("No connectors in TLM bus: \"" + std::string(cref) + "\"")
 
#define logError_NotForExternalModels   logError("Not available for external models")
 
#define logError_NotForScSystem   logError("Not available for strongly coupled systems")
 
#define logError_NotForTlmSystem   logError("Not available for TLM systems")
 
#define logError_NotImplemented   logError("Not implemented")
 
#define logError_OnlyForExternalModels   logError("Only available for TLM sub models (aka external models)")
 
#define logError_OnlyForModel   logError("Only implemented for model identifiers")
 
#define logError_OnlyForTlmSystem   logError("Only available for TLM systems")
 
#define logError_ResetFailed(system)   logError("failed to reset system \"" + std::string(system) + "\" to instantiation mode")
 
#define logError_SubSystemNotInSystem(system, subsystem)   logError("System \"" + std::string(system) + "\" does not contain subsystem \"" + std::string(subsystem) + "\"")
 
#define logError_SystemNotInModel(model, system)   logError("Model \"" + std::string(model) + "\" does not contain system \"" + std::string(system) + "\"")
 
#define logError_Termination(system)   logError("Termination of system \"" + std::string(system) + "\" failed")
 
#define logError_TlmBusNotInComponent(cref, component)   logError("TLM bus connector \"" + std::string(cref) + "\" not found in component \"" + std::string(component->getFullCref()) + "\"")
 
#define logError_TlmBusNotInSystem(cref, system)   logError("TLM bus connector \"" + std::string(cref) + "\" not found in system \"" + std::string(system->getFullCref()) + "\"")
 
#define logError_UnknownSignal(cref)   logError("Unknown signal \"" + std::string(cref) + "\"")
 
#define logError_UnknownTLMVariableType(vartype)   logError("Unknown TLM variable type: \""+vartype+"\"")
 
#define logError_VariableTypeAlreadyInTLMBus(cref, vartype)   logError("TLM bus connector \"" + std::string(cref) + "\" already contains a variable with type \"" + vartype + "\"")
 
#define logError_WrongSchema(name)   logError("Wrong xml schema detected. Unexpected tag \"" + name + "\"")
 

Macro Definition Documentation

◆ __FUNCTION_NAME__

#define __FUNCTION_NAME__   __func__

◆ logDebug

#define logDebug (   msg)    Log::Debug(msg)

◆ logDebugEnabled

#define logDebugEnabled ( )    Log::DebugEnabled()

◆ logError

#define logError (   msg)    Log::Error(msg, __func__)

◆ logError_AlreadyInScope [1/2]

#define logError_AlreadyInScope (   cref)    logError("\"" + std::string(cref) + "\" already exists in the scope")

◆ logError_AlreadyInScope [2/2]

#define logError_AlreadyInScope (   cref)    logError("\"" + std::string(cref) + "\" already exists in the scope")

◆ logError_BusAndConnectorNotSameModel

#define logError_BusAndConnectorNotSameModel (   bus,
  connector 
)    logError("Bus \"" + std::string(bus) + "\" and connector \"" + std::string(connector) + "\" do not belong to same model")

◆ logError_BusAndConnectorNotSameSystem

#define logError_BusAndConnectorNotSameSystem (   bus,
  connector 
)    logError("Bus \"" + std::string(bus) + "\" and connector \"" + std::string(connector) + "\" do not belong to same system")

◆ logError_BusNotInComponent

#define logError_BusNotInComponent (   cref,
  component 
)    logError("Bus connector \"" + std::string(cref) + "\" not found in component \"" + std::string(component->getFullCref()) + "\"")

◆ logError_BusNotInSystem

#define logError_BusNotInSystem (   cref,
  system 
)    logError("Bus connector \"" + std::string(cref) + "\" not found in system \"" + std::string(system->getFullCref()) + "\"")

◆ logError_ComponentNotInSystem

#define logError_ComponentNotInSystem (   system,
  component 
)    logError("System \"" + std::string(system->getFullCref()) + "\" does not contain component \"" + std::string(component) + "\"")

◆ logError_ConnectionExistsAlready

#define logError_ConnectionExistsAlready (   crefA,
  crefB,
  system 
)    logError("Connection <\"" + std::string(crefA) + "\", \"" + std::string(crefB) + "\"> exists already in system \"" + std::string(system->getFullCref()) + "\"")

◆ logError_ConnectionNotInSystem

#define logError_ConnectionNotInSystem (   crefA,
  crefB,
  system 
)    logError("Connection <\"" + std::string(crefA) + "\", \"" + std::string(crefB) + "\"> not found in system \"" + std::string(system->getFullCref()) + "\"")

◆ logError_ConnectorNotInComponent

#define logError_ConnectorNotInComponent (   cref,
  component 
)    logError("Connector \"" + std::string(cref) + "\" not found in component \"" + std::string(component->getFullCref()) + "\"")

◆ logError_ConnectorNotInSystem

#define logError_ConnectorNotInSystem (   cref,
  system 
)    logError("Connector \"" + std::string(cref) + "\" not found in system \"" + std::string(system->getFullCref()) + "\"")

◆ logError_FMUCall

#define logError_FMUCall (   call,
  fmu 
)    logError(std::string(call) + " failed for FMU \"" + std::string(fmu->getFullCref()) + "\"")

◆ logError_Initialization

#define logError_Initialization (   system)    logError("Initialization of system \"" + std::string(system) + "\" failed")

◆ logError_InternalError

#define logError_InternalError   logError("internal error")

◆ logError_InvalidIdent [1/2]

#define logError_InvalidIdent (   cref)    logError("\"" + std::string(cref) + "\" is not a valid ident")

◆ logError_InvalidIdent [2/2]

#define logError_InvalidIdent (   cref)    logError("\"" + std::string(cref) + "\" is not a valid ident")

◆ logError_ModelInWrongState

#define logError_ModelInWrongState (   model)    logError("Model \"" + std::string(model->getCref()) + "\" is in wrong model state")

◆ logError_ModelNotInScope

#define logError_ModelNotInScope (   cref)    logError("Model \"" + std::string(cref) + "\" does not exist in the scope")

◆ logError_NoConnectorsInTLMBus

#define logError_NoConnectorsInTLMBus (   cref)    logError("No connectors in TLM bus: \"" + std::string(cref) + "\"")

◆ logError_NotForExternalModels

#define logError_NotForExternalModels   logError("Not available for external models")

◆ logError_NotForScSystem

#define logError_NotForScSystem   logError("Not available for strongly coupled systems")

◆ logError_NotForTlmSystem

#define logError_NotForTlmSystem   logError("Not available for TLM systems")

◆ logError_NotImplemented

#define logError_NotImplemented   logError("Not implemented")

◆ logError_OnlyForExternalModels

#define logError_OnlyForExternalModels   logError("Only available for TLM sub models (aka external models)")

◆ logError_OnlyForModel

#define logError_OnlyForModel   logError("Only implemented for model identifiers")

◆ logError_OnlyForTlmSystem

#define logError_OnlyForTlmSystem   logError("Only available for TLM systems")

◆ logError_ResetFailed

#define logError_ResetFailed (   system)    logError("failed to reset system \"" + std::string(system) + "\" to instantiation mode")

◆ logError_SubSystemNotInSystem

#define logError_SubSystemNotInSystem (   system,
  subsystem 
)    logError("System \"" + std::string(system) + "\" does not contain subsystem \"" + std::string(subsystem) + "\"")

◆ logError_SystemNotInModel

#define logError_SystemNotInModel (   model,
  system 
)    logError("Model \"" + std::string(model) + "\" does not contain system \"" + std::string(system) + "\"")

◆ logError_Termination

#define logError_Termination (   system)    logError("Termination of system \"" + std::string(system) + "\" failed")

◆ logError_TlmBusNotInComponent

#define logError_TlmBusNotInComponent (   cref,
  component 
)    logError("TLM bus connector \"" + std::string(cref) + "\" not found in component \"" + std::string(component->getFullCref()) + "\"")

◆ logError_TlmBusNotInSystem

#define logError_TlmBusNotInSystem (   cref,
  system 
)    logError("TLM bus connector \"" + std::string(cref) + "\" not found in system \"" + std::string(system->getFullCref()) + "\"")

◆ logError_UnknownSignal

#define logError_UnknownSignal (   cref)    logError("Unknown signal \"" + std::string(cref) + "\"")

◆ logError_UnknownTLMVariableType

#define logError_UnknownTLMVariableType (   vartype)    logError("Unknown TLM variable type: \""+vartype+"\"")

◆ logError_VariableTypeAlreadyInTLMBus

#define logError_VariableTypeAlreadyInTLMBus (   cref,
  vartype 
)    logError("TLM bus connector \"" + std::string(cref) + "\" already contains a variable with type \"" + vartype + "\"")

◆ logError_WrongSchema

#define logError_WrongSchema (   name)    logError("Wrong xml schema detected. Unexpected tag \"" + name + "\"")

◆ logInfo

#define logInfo (   msg)    Log::Info(msg)

◆ logTrace

#define logTrace ( )    Log::Trace(__FUNCTION_NAME__, __FILE__, __LINE__)

◆ logTraceEnabled

#define logTraceEnabled ( )    Log::TraceEnabled()

◆ logWarning

#define logWarning (   msg)    Log::Warning(msg)