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__) 134 void operator=(
Logger const &) =
delete;
137 static Logger &GetInstance();
145 void SetPrintFunction(std::function<
void(
const std::string &)> print_fcn);
148 void ResetPrintFunction();
159 template <
typename... Args>
160 static void LogError_ [[noreturn]] (
const char *file,
162 const char *
function,
165 if (
sizeof...(Args) > 0) {
167 file, line,
function,
168 FormatArgs(format, fmt::make_format_args(args...)));
171 std::string(format));
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...)));
186 std::string(format));
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...)));
201 std::string(format));
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...)));
216 std::string(format));
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_;
void SetVerbosityLevel(VerbosityLevel verbosity_level)
Definition: Logging.cpp:141
Definition: Logging.h:257
static Logger & GetInstance()
Get Logger global singleton instance.
Definition: Logging.cpp:83
VerbosityContextManager(VerbosityLevel level)
Definition: Logging.h:259
Definition: Logging.cpp:48
static void LogWarning_(const char *file, int line, const char *function, const char *format, Args &&... args)
Definition: Logging.h:175
void Enter()
Definition: Logging.h:261
static void LogDebug_(const char *file, int line, const char *function, const char *format, Args &&... args)
Definition: Logging.h:205
VerbosityLevel GetVerbosityLevel()
Get global verbosity level of Open3D.
Definition: Logging.cpp:153
static void LogInfo_(const char *file, int line, const char *function, const char *format, Args &&... args)
Definition: Logging.h:190
VerbosityLevel
Definition: Logging.h:110
void SetVerbosityLevel(VerbosityLevel level)
Definition: Logging.cpp:149
Definition: PinholeCameraIntrinsic.cpp:35
filament::Texture::InternalFormat format
Definition: FilamentResourceManager.cpp:214
void Exit()
Definition: Logging.h:266
Logger class should be used as a global singleton object (GetInstance()).
Definition: Logging.h:131
VerbosityLevel GetVerbosityLevel() const
Get global verbosity level of Open3D.
Definition: Logging.cpp:145