helics  2.8.1
loggingHelper.hpp
Go to the documentation of this file.
1 /*
2 Copyright (c) 2017-2021,
3 Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Sustainable
4 Energy, LLC. See the top-level NOTICE for additional details. All rights reserved.
5 SPDX-License-Identifier: BSD-3-Clause
6 */
7 #pragma once
8 
9 #include "helics/helics-config.h"
10 #include "helics/helics_enums.h"
11 
20 enum log_level : int {
32  fed = 99999
33 };
34 
35 #define LOG_ERROR(id, ident, message) sendToLogger(id, log_level::error, ident, message)
36 #define LOG_ERROR_SIMPLE(message) \
37  sendToLogger(global_broker_id_local, log_level::error, getIdentifier(), message)
38 #define LOG_WARNING(id, ident, message) sendToLogger(id, log_level::warning, ident, message)
39 
40 #define LOG_WARNING_SIMPLE(message) \
41  sendToLogger(global_broker_id_local, log_level::warning, getIdentifier(), message)
42 
43 #ifdef HELICS_ENABLE_LOGGING
44 # define LOG_SUMMARY(id, ident, message) \
45  if (maxLogLevel >= log_level::summary) { \
46  sendToLogger(id, log_level::summary, ident, message); \
47  }
48 
49 # define LOG_CONNECTIONS(id, ident, message) \
50  if (maxLogLevel >= log_level::connections) { \
51  sendToLogger(id, log_level::connections, ident, message); \
52  }
53 
54 # define LOG_INTERFACES(id, ident, message) \
55  if (maxLogLevel >= log_level::interfaces) { \
56  sendToLogger(id, log_level::interfaces, ident, message); \
57  }
58 
59 # ifdef HELICS_ENABLE_DEBUG_LOGGING
60 # define LOG_TIMING(id, ident, message) \
61  if (maxLogLevel >= log_level::timing) { \
62  sendToLogger(id, log_level::timing, ident, message); \
63  }
64 # define LOG_DATA_MESSAGES(id, ident, message) \
65  if (maxLogLevel >= log_level::data) { \
66  sendToLogger(id, log_level::data, ident, message); \
67  }
68 # else
69 # define LOG_TIMING(id, ident, message)
70 # define LOG_DATA_MESSAGES(id, ident, message)
71 # endif
72 
73 # ifdef HELICS_ENABLE_TRACE_LOGGING
74 # define LOG_TRACE(id, ident, message) \
75  if (maxLogLevel >= log_level::trace) { \
76  sendToLogger(id, log_level::trace, ident, message); \
77  }
78 # else
79 # define LOG_TRACE(id, ident, message)
80 # endif
81 #else
82 # define LOG_SUMMARY(id, ident, message)
83 # define LOG_CONNECTIONS(id, ident, message)
84 # define LOG_INTERFACES(id, ident, message)
85 # define LOG_TIMING(id, ident, message)
86 # define LOG_DATA_MESSAGES(id, ident, message)
87 # define LOG_TRACE(id, ident, message)
88 #endif
data
@ data
print timing+data transmissions
Definition: loggingHelper.hpp:30
no_print
@ no_print
never print
Definition: loggingHelper.hpp:21
connections
@ connections
print summary+ federate level connection information
Definition: loggingHelper.hpp:25
timing
@ timing
print interfaces+ timing(exec/grant/disconnect)
Definition: loggingHelper.hpp:29
helics_log_level_summary
@ helics_log_level_summary
Definition: helics_enums.h:171
warning
@ warning
print/log warning and errors
Definition: loggingHelper.hpp:23
interfaces
@ interfaces
print connections +interface level connection information
Definition: loggingHelper.hpp:27
helics_log_level_warning
@ helics_log_level_warning
Definition: helics_enums.h:169
helics_log_level_trace
@ helics_log_level_trace
Definition: helics_enums.h:182
summary
@ summary
print/log summary information
Definition: loggingHelper.hpp:24
helics_log_level_connections
@ helics_log_level_connections
Definition: helics_enums.h:174
helics_log_level_error
@ helics_log_level_error
Definition: helics_enums.h:167
helics_enums.h
base helics enumerations for C and C++ API's
helics_log_level_interfaces
@ helics_log_level_interfaces
Definition: helics_enums.h:176
helics_log_level_data
@ helics_log_level_data
Definition: helics_enums.h:180
fed
@ fed
special logging command for message coming from a fed
Definition: loggingHelper.hpp:32
trace
@ trace
trace level printing (all processed messages)
Definition: loggingHelper.hpp:31
helics_log_level_no_print
@ helics_log_level_no_print
Definition: helics_enums.h:165
helics_log_level_timing
@ helics_log_level_timing
Definition: helics_enums.h:178
log_level
log_level
Definition: loggingHelper.hpp:20
error
@ error
only print errors
Definition: loggingHelper.hpp:22