33 #define FMT_HEADER_ONLY 1 34 #define FMT_STRING_ALIAS 1 35 #include <fmt/format.h> 36 #include <fmt/printf.h> 37 #include <fmt/ranges.h> 39 #define DEFAULT_IO_BUFFER_SIZE 1024 79 void operator=(
Logger const &) =
delete;
86 void VError[[noreturn]](
const char *
format, fmt::format_args args)
const {
87 std::string err_msg = fmt::vformat(format, args);
88 err_msg =
fmt::format(
"[Open3D ERROR] {}", err_msg);
89 err_msg = ColorString(err_msg, TextColor::Red, 1);
90 throw std::runtime_error(err_msg);
93 void VWarning(
const char *format, fmt::format_args args)
const {
95 ChangeConsoleColor(TextColor::Yellow, 1);
96 fmt::print(
"[Open3D WARNING] ");
97 fmt::vprint(format, args);
103 void VInfo(
const char *format, fmt::format_args args)
const {
105 fmt::print(
"[Open3D INFO] ");
106 fmt::vprint(format, args);
111 void VDebug(
const char *format, fmt::format_args args)
const {
113 fmt::print(
"[Open3D DEBUG] ");
114 fmt::vprint(format, args);
119 template <
typename... Args>
120 void Error[[noreturn]](
const char *
format,
const Args &... args)
const {
121 VError(format, fmt::make_format_args(args...));
124 template <
typename... Args>
125 void Warning(
const char *format,
const Args &... args)
const {
126 VWarning(format, fmt::make_format_args(args...));
129 template <
typename... Args>
130 void Info(
const char *format,
const Args &... args)
const {
131 VInfo(format, fmt::make_format_args(args...));
134 template <
typename... Args>
135 void Debug(
const char *format,
const Args &... args)
const {
136 VDebug(format, fmt::make_format_args(args...));
139 template <
typename... Args>
140 void Errorf[[noreturn]](
const char *
format,
const Args &... args)
const {
141 std::string err_msg = fmt::sprintf(format, args...);
142 err_msg =
fmt::format(
"[Open3D Error] {}", err_msg);
143 err_msg = ColorString(err_msg, TextColor::Red, 1);
144 throw std::runtime_error(err_msg);
147 template <
typename... Args>
148 void Warningf(
const char *format,
const Args &... args)
const {
150 ChangeConsoleColor(TextColor::Yellow, 1);
151 fmt::print(
"[Open3D WARNING] ");
152 fmt::printf(format, args...);
158 template <
typename... Args>
159 void Infof(
const char *format,
const Args &... args)
const {
161 fmt::print(
"[Open3D INFO] ");
162 fmt::printf(format, args...);
167 template <
typename... Args>
168 void Debugf(
const char *format,
const Args &... args)
const {
170 fmt::print(
"[Open3D DEBUG] ");
171 fmt::printf(format, args...);
181 void ChangeConsoleColor(
TextColor text_color,
int highlight_text)
const;
182 void ResetConsoleColor()
const;
184 std::string ColorString(
const std::string &text,
186 int highlight_text)
const;
200 template <
typename... Args>
205 template <
typename... Args>
206 inline void LogWarning(
const char *format,
const Args &... args) {
210 template <
typename... Args>
211 inline void LogInfo(
const char *format,
const Args &... args) {
215 template <
typename... Args>
216 inline void LogDebug(
const char *format,
const Args &... args) {
220 template <
typename... Args>
225 template <
typename... Args>
226 inline void LogWarningf(
const char *format,
const Args &... args) {
230 template <
typename... Args>
231 inline void LogInfof(
const char *format,
const Args &... args) {
235 template <
typename... Args>
236 inline void LogDebugf(
const char *format,
const Args &... args) {
243 const std::string &progress_info,
244 bool active =
false) {
245 reset(expected_count, progress_info, active);
249 const std::string &progress_info,
251 expected_count_ = expected_count;
253 progress_info_ = progress_info;
264 if (current_count_ >= expected_count_) {
265 fmt::print(
"{}[{}] 100%\n", progress_info_,
266 std::string(resolution_,
'='));
268 size_t new_progress_pixel =
269 int(current_count_ * resolution_ / expected_count_);
270 if (new_progress_pixel > progress_pixel_) {
271 progress_pixel_ = new_progress_pixel;
272 int percent =
int(current_count_ * 100 / expected_count_);
273 fmt::print(
"{}[{}>{}] {:d}%\r", progress_info_,
274 std::string(progress_pixel_,
'='),
275 std::string(resolution_ - 1 - progress_pixel_,
' '),
284 const size_t resolution_ = 40;
285 size_t expected_count_;
286 size_t current_count_;
287 std::string progress_info_;
288 size_t progress_pixel_;
296 const std::string &option,
301 const std::string &option,
306 const std::string &option,
312 const std::string &option,
313 const Eigen::VectorXd
default_value = Eigen::VectorXd::Zero(0));
319 const std::vector<std::string> &options);
void VError(const char *format, fmt::format_args args) const
Definition: Console.h:86
std::string GetProgramOptionAsString(int argc, char **argv, const std::string &option, const std::string &default_value)
Definition: Console.cpp:104
void Infof(const char *format, const Args &... args) const
Definition: Console.h:159
void Warningf(const char *format, const Args &... args) const
Definition: Console.h:148
void Info(const char *format, const Args &... args) const
Definition: Console.h:130
void LogDebugf(const char *format, const Args &... args)
Definition: Console.h:236
double GetProgramOptionAsDouble(int argc, char **argv, const std::string &option, const double default_value)
Definition: Console.cpp:137
void LogInfof(const char *format, const Args &... args)
Definition: Console.h:231
ConsoleProgressBar & operator++()
Definition: Console.h:259
Logger()
Definition: Console.h:77
void LogError(const char *format, const Args &... args)
Definition: Console.h:201
void LogWarning(const char *format, const Args &... args)
Definition: Console.h:206
void Debug(const char *format, const Args &... args) const
Definition: Console.h:135
bool ProgramOptionExistsAny(int argc, char **argv, const std::vector< std::string > &options)
Definition: Console.cpp:189
void VWarning(const char *format, fmt::format_args args) const
Definition: Console.h:93
TextColor
Definition: Console.h:66
void VInfo(const char *format, fmt::format_args args) const
Definition: Console.h:103
void LogDebug(const char *format, const Args &... args)
Definition: Console.h:216
std::string GetCurrentTimeStamp()
Definition: Console.cpp:99
VerbosityLevel GetVerbosityLevel()
Definition: Console.h:196
const char const char value recording_handle imu_sample recording_handle uint8_t size_t data_size k4a_record_configuration_t config target_format k4a_capture_t capture_handle k4a_imu_sample_t imu_sample playback_handle k4a_logging_message_cb_t void min_level device_handle k4a_imu_sample_t timeout_in_ms capture_handle capture_handle capture_handle image_handle temperature_c int
Definition: K4aPlugin.cpp:475
void LogErrorf(const char *format, const Args &... args)
Definition: Console.h:221
int GetProgramOptionAsInt(int argc, char **argv, const std::string &option, const int default_value)
Definition: Console.cpp:116
VerbosityLevel
Definition: Console.h:44
void Debugf(const char *format, const Args &... args) const
Definition: Console.h:168
void SetVerbosityLevel(VerbosityLevel level)
Definition: Console.h:192
Definition: PinholeCameraIntrinsic.cpp:34
const char const char value recording_handle imu_sample recording_handle uint8_t size_t data_size k4a_record_configuration_t config target_format k4a_capture_t capture_handle k4a_imu_sample_t imu_sample playback_handle k4a_logging_message_cb_t void min_level device_handle k4a_imu_sample_t timeout_in_ms capture_handle capture_handle capture_handle image_handle temperature_c format
Definition: K4aPlugin.cpp:475
const char const char value recording_handle imu_sample recording_handle uint8_t size_t data_size k4a_record_configuration_t config target_format k4a_capture_t capture_handle k4a_imu_sample_t imu_sample playback_handle k4a_logging_message_cb_t void min_level device_handle k4a_imu_sample_t timeout_in_ms capture_handle capture_handle capture_handle image_handle temperature_c k4a_image_t image_handle uint8_t image_handle image_handle image_handle image_handle image_handle timestamp_usec white_balance image_handle k4a_device_configuration_t config device_handle char size_t serial_number_size bool int32_t int32_t int32_t int32_t default_value
Definition: K4aPlugin.cpp:644
void Warning(const char *format, const Args &... args) const
Definition: Console.h:125
ConsoleProgressBar(size_t expected_count, const std::string &progress_info, bool active=false)
Definition: Console.h:242
static Logger & i()
Definition: Console.h:81
void VDebug(const char *format, fmt::format_args args) const
Definition: Console.h:111
void reset(size_t expected_count, const std::string &progress_info, bool active)
Definition: Console.h:248
void LogWarningf(const char *format, const Args &... args)
Definition: Console.h:226
Eigen::VectorXd GetProgramOptionAsEigenVectorXd(int argc, char **argv, const std::string &option, const Eigen::VectorXd default_value)
Definition: Console.cpp:156
Definition: Console.h:240
VerbosityLevel verbosity_level_
Definition: Console.h:189
bool ProgramOptionExists(int argc, char **argv, const std::string &option)
Definition: Console.cpp:185
void LogInfo(const char *format, const Args &... args)
Definition: Console.h:211
void Errorf(const char *format, const Args &... args) const
Definition: Console.h:140