32 #ifndef FMT_HEADER_ONLY
33 #define FMT_HEADER_ONLY 1
35 #ifndef FMT_STRING_ALIAS
36 #define FMT_STRING_ALIAS 1
39 #if defined(__CUDACC__) && defined(_MSC_VER) && __CUDACC_VER_MAJOR__ < 11
40 #ifndef FMT_DEPRECATED
41 #define FMT_DEPRECATED
44 #include <fmt/format.h>
45 #include <fmt/ostream.h>
46 #include <fmt/printf.h>
47 #include <fmt/ranges.h>
49 #define DEFAULT_IO_BUFFER_SIZE 1024
72 #define LogError(...) \
73 Logger::LogError_(__FILE__, __LINE__, \
74 static_cast<const char *>(OPEN3D_FUNCTION), __VA_ARGS__)
84 #define LogWarning(...) \
85 Logger::LogWarning_(__FILE__, __LINE__, \
86 static_cast<const char *>(OPEN3D_FUNCTION), \
94 #define LogInfo(...) \
95 Logger::LogInfo_(__FILE__, __LINE__, \
96 static_cast<const char *>(OPEN3D_FUNCTION), __VA_ARGS__)
103 #define LogDebug(...) \
104 Logger::LogDebug_(__FILE__, __LINE__, \
105 static_cast<const char *>(OPEN3D_FUNCTION), __VA_ARGS__)
159 template <
typename... Args>
162 const char *
function,
165 if (
sizeof...(Args) > 0) {
167 file, line,
function,
168 FormatArgs(
format, fmt::make_format_args(args...)));
174 template <
typename... Args>
177 const char *
function,
180 if (
sizeof...(Args) > 0) {
182 file, line,
function,
183 FormatArgs(
format, fmt::make_format_args(args...)));
189 template <
typename... Args>
192 const char *
function,
195 if (
sizeof...(Args) > 0) {
197 file, line,
function,
198 FormatArgs(
format, fmt::make_format_args(args...)));
204 template <
typename... Args>
207 const char *
function,
210 if (
sizeof...(Args) > 0) {
212 file, line,
function,
213 FormatArgs(
format, fmt::make_format_args(args...)));
222 static std::string FormatArgs(
const char *
format, fmt::format_args args) {
223 std::string err_msg = fmt::vformat(
format, args);
226 void VError [[noreturn]] (
const char *file,
228 const char *
function,
229 const std::string &message)
const;
230 void VWarning(
const char *file,
232 const char *
function,
233 const std::string &message)
const;
234 void VInfo(
const char *file,
236 const char *
function,
237 const std::string &message)
const;
238 void VDebug(
const char *file,
240 const char *
function,
241 const std::string &message)
const;
245 std::unique_ptr<Impl> impl_;
filament::Texture::InternalFormat format
Definition: FilamentResourceManager.cpp:214
Logger class should be used as a global singleton object (GetInstance()).
Definition: Logging.h:131
Logger(Logger const &)=delete
void operator=(Logger const &)=delete
VerbosityLevel GetVerbosityLevel() const
Get global verbosity level of Open3D.
Definition: Logging.cpp:145
void ResetPrintFunction()
Reset the print function to the default one (print to console).
Definition: Logging.cpp:137
void SetPrintFunction(std::function< void(const std::string &)> print_fcn)
Definition: Logging.cpp:132
static void LogError_(const char *file, int line, const char *function, const char *format, Args &&... args)
Definition: Logging.h:160
static void LogWarning_(const char *file, int line, const char *function, const char *format, Args &&... args)
Definition: Logging.h:175
static void LogDebug_(const char *file, int line, const char *function, const char *format, Args &&... args)
Definition: Logging.h:205
static void LogInfo_(const char *file, int line, const char *function, const char *format, Args &&... args)
Definition: Logging.h:190
void SetVerbosityLevel(VerbosityLevel verbosity_level)
Definition: Logging.cpp:141
static Logger & GetInstance()
Get Logger global singleton instance.
Definition: Logging.cpp:83
Definition: Logging.h:257
void Exit()
Definition: Logging.h:266
VerbosityContextManager(VerbosityLevel level)
Definition: Logging.h:259
void Enter()
Definition: Logging.h:261
void SetVerbosityLevel(VerbosityLevel level)
Definition: Logging.cpp:149
VerbosityLevel
Definition: Logging.h:110
VerbosityLevel GetVerbosityLevel()
Get global verbosity level of Open3D.
Definition: Logging.cpp:153
Definition: PinholeCameraIntrinsic.cpp:35