Skip to content

Commit 0e037d8

Browse files
committed
expanded logger macros
1 parent f86b09c commit 0e037d8

File tree

3 files changed

+42
-59
lines changed

3 files changed

+42
-59
lines changed

Diff for: include/lbann/utils/logging.hpp

+22-53
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ enum LBANN_Logger_ID
4444
LOG_TRAIN,
4545
};
4646

47+
//
4748
void setup_loggers();
4849

4950
// Raw string may be useful for debugging
@@ -71,76 +72,44 @@ h2::Logger& get(LBANN_Logger_ID id);
7172
#define LBANN_ERR(logger_id, ...) LBANN_LOG(logger_id, ::h2::Logger::LogLevelType::ERR, __VA_ARGS__)
7273
#define LBANN_CRIT(logger_id, ...) LBANN_LOG(logger_id, ::h2::Logger::LogLevelType::CRIT, __VA_ARGS__)
7374

75+
// Run time
7476
#define LBANN_RT_TRACE(...) LBANN_TRACE(::lbann::logging::LBANN_Logger_ID::LOG_RT, __VA_ARGS__)
7577

78+
#define LBANN_RT_DEBUG(...) LBANN_DEBUG(::lbann::logging::LBANN_Logger_ID::LOG_RT, __VA_ARGS__)
79+
80+
#define LBANN_RT_INFO(...) LBANN_INFO(::lbann::logging::LBANN_Logger_ID::LOG_RT, __VA_ARGS__)
7681

77-
/*
78-
#define LBANN_RT_DEBUG(...) \
79-
if (logger.should_log(h2::Logger::LogLevelType::DEBUG)) \
80-
logger.get().debug(__VA_ARGS__); \
82+
#define LBANN_RT_WARN(...) LBANN_WARN(::lbann::logging::LBANN_Logger_ID::LOG_RT, __VA_ARGS__)
8183

82-
#define LBANN_RT_INFO(...) \
83-
if (logger.should_log(h2::Logger::LogLevelType::INFO)) \
84-
logger.get().info(__VA_ARGS__); \
84+
#define LBANN_RT_ERR(...) LBANN_ERR(::lbann::logging::LBANN_Logger_ID::LOG_RT, __VA_ARGS__)
8585

86-
#define LBANN_RT_WARN(...) \
87-
if (logger.should_log(h2::Logger::LogLevelType::WARN)) \
88-
logger.get().warn(__VA_ARGS__); \
86+
#define LBANN_RT_CRIT(...) LBANN_CRIT(::lbann::logging::LBANN_Logger_ID::LOG_RT, __VA_ARGS__)
8987

90-
#define LBANN_RT_ERROR(...) \
91-
if (logger.should_log(h2::Logger::LogLevelType::ERROR)) \
92-
logger.get().error(__VA_ARGS__); \
88+
// IO
89+
#define LBANN_IO_TRACE(...) LBANN_TRACE(::lbann::logging::LBANN_Logger_ID::LOG_IO, __VA_ARGS__)
9390

94-
#define LBANN_RT_CRITICAL(...) \
95-
if (logger.should_log(h2::Logger::LogLevelType::CRITICAL)) \
96-
logger.get().critical(__VA_ARGS__); \
91+
#define LBANN_IO_DEBUG(...) LBANN_DEBUG(::lbann::logging::LBANN_Logger_ID::LOG_IO, __VA_ARGS__)
9792

98-
#define LBANN_IO_TRACE(...) \
99-
if (logger.should_log(h2::Logger::LogLevelType::TRACE)) \
100-
logger.get().trace(__VA_ARGS__); \
93+
#define LBANN_IO_INFO(...) LBANN_INFO(::lbann::logging::LBANN_Logger_ID::LOG_IO, __VA_ARGS__)
10194

102-
#define LBANN_IO_DEBUG(...) \
103-
if (logger.should_log(h2::Logger::LogLevelType::DEBUG)) \
104-
logger.get().debug(__VA_ARGS__); \
95+
#define LBANN_IO_WARN(...) LBANN_WARN(::lbann::logging::LBANN_Logger_ID::LOG_IO, __VA_ARGS__)
10596

106-
#define LBANN_IO_INFO(...) \
107-
if (logger.should_log(h2::Logger::LogLevelType::INFO)) \
108-
logger.get().info(__VA_ARGS__); \
97+
#define LBANN_IO_ERR(...) LBANN_ERR(::lbann::logging::LBANN_Logger_ID::LOG_IO, __VA_ARGS__)
10998

110-
#define LBANN_IO_WARN(...) \
111-
if (logger.should_log(h2::Logger::LogLevelType::WARN)) \
112-
logger.get().warn(__VA_ARGS__); \
99+
#define LBANN_IO_CRIT(...) LBANN_CRIT(::lbann::logging::LBANN_Logger_ID::LOG_IO, __VA_ARGS__)
113100

114-
#define LBANN_IO_ERROR(...) \
115-
if (logger.should_log(h2::Logger::LogLevelType::ERROR)) \
116-
logger.get().error(__VA_ARGS__); \
101+
// Training
102+
#define LBANN_TRAIN_TRACE(...) LBANN_TRACE(::lbann::logging::LBANN_Logger_ID::LOG_TRAIN, __VA_ARGS__)
117103

118-
#define LBANN_IO_CRITICAL(...) \
119-
if (logger.should_log(h2::Logger::LogLevelType::CRITICAL)) \
120-
logger.get().critical(__VA_ARGS__); \
104+
#define LBANN_TRAIN_DEBUG(...) LBANN_DEBUG(::lbann::logging::LBANN_Logger_ID::LOG_TRAIN, __VA_ARGS__)
121105

122-
#define LBANN_TRAINING_TRACE(...) \
123-
if (logger.should_log(h2::Logger::LogLevelType::TRACE)) \
124-
logger.get().trace(__VA_ARGS__); \
106+
#define LBANN_TRAIN_INFO(...) LBANN_INFO(::lbann::logging::LBANN_Logger_ID::LOG_TRAIN, __VA_ARGS__)
125107

126-
#define LBANN_TRAINING_DEBUG(...) \
127-
if (logger.should_log(h2::Logger::LogLevelType::DEBUG)) \
128-
logger.get().debug(__VA_ARGS__); \
108+
#define LBANN_TRAIN_WARN(...) LBANN_WARN(::lbann::logging::LBANN_Logger_ID::LOG_TRAIN, __VA_ARGS__)
129109

130-
#define LBANN_TRAINING_INFO(...) \
131-
if (logger.should_log(h2::Logger::LogLevelType::INFO)) \
132-
logger.get().info(__VA_ARGS__); \
110+
#define LBANN_TRAIN_ERR(...) LBANN_ERR(::lbann::logging::LBANN_Logger_ID::LOG_TRAIN, __VA_ARGS__)
133111

134-
#define LBANN_TRAINING_WARN(...) \
135-
if (logger.should_log(h2::Logger::LogLevelType::WARN)) \
136-
logger.get().warn(__VA_ARGS__); \
112+
#define LBANN_TRAIN_CRIT(...) LBANN_CRIT(::lbann::logging::LBANN_Logger_ID::LOG_TRAIN, __VA_ARGS__)
137113

138-
#define LBANN_TRAINING_ERROR(...) \
139-
if (logger.should_log(h2::Logger::LogLevelType::ERROR)) \
140-
logger.get().error(__VA_ARGS__); \
141114

142-
#define LBANN_TRAINING_CRITICAL(...) \
143-
if (logger.should_log(h2::Logger::LogLevelType::CRITICAL)) \
144-
logger.get().critical(__VA_ARGS__); \
145-
*/
146115
#endif // LBANN_LOGGING_HPP_INCLUDED

Diff for: src/base.cpp

+4-1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
#include "lbann/utils/omp_diagnostics.hpp"
4646
#include "lbann/utils/options.hpp"
4747
#include "lbann/utils/stack_trace.hpp"
48+
#include "lbann/utils/logging.hpp"
4849

4950
#ifdef LBANN_HAS_DNN_LIB
5051
#include "lbann/utils/dnn_lib/helpers.hpp"
@@ -85,7 +86,6 @@ lbann_comm& get_current_comm() noexcept { return *world_comm_; }
8586

8687
auto lbann::initialize_lbann(El::mpi::Comm&& c) -> std::unique_ptr<lbann_comm>
8788
{
88-
8989
// Parse command-line arguments and environment variables
9090
auto& arg_parser = global_argument_parser();
9191
(void) arg_parser;
@@ -190,6 +190,9 @@ void lbann::finalize_lbann(lbann_comm* comm) {
190190

191191
auto lbann::initialize(int& argc, char**& argv) -> world_comm_ptr
192192
{
193+
//FIXME(KLG): Can this go here?
194+
logging::setup_loggers();
195+
193196
// Parse command-line arguments and environment variables
194197
auto& arg_parser = global_argument_parser();
195198
(void) arg_parser;

Diff for: src/utils/logging.cpp

+16-5
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,18 @@
3535
namespace lbann {
3636
namespace logging {
3737

38-
static h2::Logger logger("test_logger");
38+
static h2::Logger io_logger("IO");
39+
static h2::Logger rt_logger("RT");
40+
static h2::Logger train_logger("TRAIN");
3941
static std::vector<h2::Logger*> logger_vec;
4042

4143
void setup_loggers()
4244
{
4345
//putenv("TEST_LOG_MASK=trace|debug|info|warn|error|critical, io=debug|info|warn, training=critical|error, test_logger=debug|info|warn");
44-
//putenv("TEST_LOG_LEVEL=critical, io=debug");
45-
logger_vec.push_back(&logger);
46+
putenv("TEST_LOG_LEVEL=critical, RT=trace");
47+
logger_vec.insert(logger_vec.end(), { &io_logger, &rt_logger, &train_logger });
4648
h2::setup_levels(logger_vec, "TEST_LOG_LEVEL");
47-
h2::setup_masks(logger_vec, "TEST_LOG_MASK");
49+
//h2::setup_masks(logger_vec, "TEST_LOG_MASK");
4850
}
4951

5052
// Raw string may be useful for debugging
@@ -65,7 +67,16 @@ char const* logger_id_str(LBANN_Logger_ID id)
6567
// Access the actual logger object
6668
h2::Logger& get(LBANN_Logger_ID id)
6769
{
68-
return logger;
70+
switch (id) {
71+
case LBANN_Logger_ID::LOG_RT:
72+
return rt_logger;
73+
case LBANN_Logger_ID::LOG_IO:
74+
return io_logger;
75+
case LBANN_Logger_ID::LOG_TRAIN:
76+
return train_logger;
77+
default:
78+
throw lbann_exception("Unknown LBANN_Logger_ID");
79+
}
6980
}
7081

7182
}// namespace logging

0 commit comments

Comments
 (0)