helics 3.7.0
Loading...
Searching...
No Matches
loggingHelper.hpp
Go to the documentation of this file.
1/*
2Copyright (c) 2017-2026,
3Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Energy
4Innovation LLC. See the top-level NOTICE for additional details. All rights reserved.
5SPDX-License-Identifier: BSD-3-Clause
6*/
7#pragma once
8
9#include "helics/helics-config.h"
10#include "helics/helics_enums.h"
11
12namespace helics {
20#define LOG_ERROR(id, ident, message) sendToLogger(id, LogLevels::ERROR_LEVEL, ident, message)
21#define LOG_ERROR_SIMPLE(message) \
22 sendToLogger(global_broker_id_local, LogLevels::ERROR_LEVEL, getIdentifier(), message)
23#define LOG_WARNING(id, ident, message) sendToLogger(id, LogLevels::WARNING, ident, message)
24
25#define LOG_WARNING_SIMPLE(message) \
26 sendToLogger(global_broker_id_local, LogLevels::WARNING, getIdentifier(), message)
27
28#ifdef HELICS_ENABLE_LOGGING
29# define LOG_SUMMARY(id, ident, message) \
30 if (maxLogLevel >= LogLevels::SUMMARY) { \
31 sendToLogger(id, LogLevels::SUMMARY, ident, message); \
32 }
33
34# define LOG_CONNECTIONS(id, ident, message) \
35 if (maxLogLevel >= LogLevels::CONNECTIONS) { \
36 sendToLogger(id, LogLevels::CONNECTIONS, ident, message); \
37 }
38
39# define LOG_INTERFACES(id, ident, message) \
40 if (maxLogLevel >= LogLevels::INTERFACES) { \
41 sendToLogger(id, LogLevels::INTERFACES, ident, message); \
42 }
43
44# ifdef HELICS_ENABLE_DEBUG_LOGGING
45# define LOG_TIMING(id, ident, message) \
46 if (maxLogLevel >= LogLevels::TIMING) { \
47 sendToLogger(id, LogLevels::TIMING, ident, message); \
48 }
49# define LOG_DATA_MESSAGES(id, ident, message) \
50 if (maxLogLevel >= LogLevels::DATA) { \
51 sendToLogger(id, LogLevels::DATA, ident, message); \
52 }
53# define LOG_DEBUG_MESSAGES(id, ident, message) \
54 if (maxLogLevel >= LogLevels::DEBUG) { \
55 sendToLogger(id, LogLevels::DEBUG, ident, message); \
56 }
57# else
58# define LOG_TIMING(id, ident, message)
59# define LOG_DATA_MESSAGES(id, ident, message)
60# define LOG_DEBUG_MESSAGES(id, ident, message)
61# endif
62
63# ifdef HELICS_ENABLE_TRACE_LOGGING
64# define LOG_TRACE(id, ident, message) \
65 if (maxLogLevel >= LogLevels::TRACE) { \
66 sendToLogger(id, LogLevels::TRACE, ident, message); \
67 }
68# else
69# define LOG_TRACE(id, ident, message)
70# endif
71#else
72# define LOG_SUMMARY(id, ident, message)
73# define LOG_CONNECTIONS(id, ident, message)
74# define LOG_INTERFACES(id, ident, message)
75# define LOG_TIMING(id, ident, message)
76# define LOG_DATA_MESSAGES(id, ident, message)
77# define LOG_DEBUG_MESSAGES(id, ident, message)
78# define LOG_TRACE(id, ident, message)
79#endif
80} // namespace helics
base helics enumerations for C and C++ API's
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition AsyncFedCallInfo.hpp:14