|  | VTK
    9.0.1
    | 
 
 
 
Go to the documentation of this file.
  145 #include "vtkSetGet.h"  
  149 #if defined(_MSC_VER) 
  154 #if defined(__clang__) || defined(__GNUC__) 
  157 #define VTK_PRINTF_LIKE(fmtarg, firstvararg)                                                       \ 
  158   __attribute__((__format__(__printf__, fmtarg, firstvararg))) 
  159 #define VTK_FORMAT_STRING_TYPE const char* 
  160 #elif defined(_MSC_VER) 
  161 #define VTK_PRINTF_LIKE(fmtarg, firstvararg) 
  162 #define VTK_FORMAT_STRING_TYPE _In_z_ _Printf_format_string_ const char* 
  164 #define VTK_PRINTF_LIKE(fmtarg, firstvararg) 
  165 #define VTK_FORMAT_STRING_TYPE const char* 
  177     VERBOSITY_INVALID = -10, 
 
  182     VERBOSITY_ERROR = -2,
 
  183     VERBOSITY_WARNING = -1,
 
  203     VERBOSITY_TRACE = +9,
 
  241   static void Init(
int& argc, 
char* argv[], 
const char* verbosity_flag = 
"-v");
 
  251   static void SetStderrVerbosity(Verbosity 
level);
 
  269   static void LogToFile(
const char* path, FileMode filemode, Verbosity verbosity);
 
  274   static void EndLogToFile(
const char* path);
 
  332   static bool RemoveCallback(
const char* 
id);
 
  337   static bool IsEnabled();
 
  344   static Verbosity GetCurrentVerbosityCutoff();
 
  368   static void Log(
Verbosity verbosity, 
const char* fname, 
unsigned int lineno, 
const char* txt);
 
  369   static void StartScope(
 
  370     Verbosity verbosity, 
const char* 
id, 
const char* fname, 
unsigned int lineno);
 
  371   static void EndScope(
const char* 
id);
 
  372 #if !defined(__WRAP__) 
  373   static void LogF(
Verbosity verbosity, 
const char* fname, 
unsigned int lineno,
 
  375   static 
void StartScopeF(
Verbosity verbosity, const 
char* 
id, const 
char* fname,
 
  385 #if defined(_MSC_VER) && _MSC_VER > 1800 
  388       : Internals(other.Internals)
 
  390       other.Internals = 
nullptr;
 
  400     LSInternals* Internals;
 
  428 #define vtkVLogF(level, ...)                                                                       \ 
  429   ((level) > vtkLogger::GetCurrentVerbosityCutoff())                                               \ 
  431     : vtkLogger::LogF(level, __FILE__, __LINE__, __VA_ARGS__) 
  432 #define vtkLogF(verbosity_name, ...) vtkVLogF(vtkLogger::VERBOSITY_##verbosity_name, __VA_ARGS__) 
  433 #define vtkVLog(level, x)                                                                          \ 
  434   if ((level) <= vtkLogger::GetCurrentVerbosityCutoff())                                           \ 
  436     vtkOStrStreamWrapper::EndlType endl;                                                           \ 
  437     vtkOStrStreamWrapper::UseEndl(endl);                                                           \ 
  438     vtkOStrStreamWrapper vtkmsg;                                                                   \ 
  440     vtkLogger::Log(level, __FILE__, __LINE__, vtkmsg.str());                                       \ 
  441     vtkmsg.rdbuf()->freeze(0);                                                                     \ 
  443 #define vtkLog(verbosity_name, x) vtkVLog(vtkLogger::VERBOSITY_##verbosity_name, x) 
  459 #define vtkVLogIfF(level, cond, ...)                                                               \ 
  460   ((level) > vtkLogger::GetCurrentVerbosityCutoff() || (cond) == false)                            \ 
  462     : vtkLogger::LogF(level, __FILE__, __LINE__, __VA_ARGS__) 
  464 #define vtkLogIfF(verbosity_name, cond, ...)                                                       \ 
  465   vtkVLogIfF(vtkLogger::VERBOSITY_##verbosity_name, cond, __VA_ARGS__) 
  467 #define vtkVLogIf(level, cond, x)                                                                  \ 
  468   if ((level) <= vtkLogger::GetCurrentVerbosityCutoff() && (cond))                                 \ 
  470     vtkOStrStreamWrapper::EndlType endl;                                                           \ 
  471     vtkOStrStreamWrapper::UseEndl(endl);                                                           \ 
  472     vtkOStrStreamWrapper vtkmsg;                                                                   \ 
  474     vtkLogger::Log(level, __FILE__, __LINE__, vtkmsg.str());                                       \ 
  475     vtkmsg.rdbuf()->freeze(0);                                                                     \ 
  477 #define vtkLogIf(verbosity_name, cond, x) vtkVLogIf(vtkLogger::VERBOSITY_##verbosity_name, cond, x) 
  480 #define VTKLOG_CONCAT_IMPL(s1, s2) s1##s2 
  481 #define VTKLOG_CONCAT(s1, s2) VTKLOG_CONCAT_IMPL(s1, s2) 
  482 #define VTKLOG_ANONYMOUS_VARIABLE(x) VTKLOG_CONCAT(x, __LINE__) 
  484 #define vtkVLogScopeF(level, ...)                                                                  \ 
  485   auto VTKLOG_ANONYMOUS_VARIABLE(msg_context) = ((level) > vtkLogger::GetCurrentVerbosityCutoff()) \ 
  486     ? vtkLogger::LogScopeRAII()                                                                    \ 
  487     : vtkLogger::LogScopeRAII(level, __FILE__, __LINE__, __VA_ARGS__) 
  489 #define vtkLogScopeF(verbosity_name, ...)                                                          \ 
  490   vtkVLogScopeF(vtkLogger::VERBOSITY_##verbosity_name, __VA_ARGS__) 
  492 #define vtkLogScopeFunction(verbosity_name) vtkLogScopeF(verbosity_name, "%s", __func__) 
  493 #define vtkVLogScopeFunction(level) vtkVLogScopeF(level, "%s", __func__) 
  500 #define vtkLogStartScope(verbosity_name, id)                                                       \ 
  501   vtkLogger::StartScope(vtkLogger::VERBOSITY_##verbosity_name, id, __FILE__, __LINE__) 
  502 #define vtkLogEndScope(id) vtkLogger::EndScope(id) 
  504 #define vtkLogStartScopeF(verbosity_name, id, ...)                                                 \ 
  505   vtkLogger::StartScopeF(vtkLogger::VERBOSITY_##verbosity_name, id, __FILE__, __LINE__, __VA_ARGS__) 
  507 #define vtkVLogStartScope(level, id) vtkLogger::StartScope(level, id, __FILE__, __LINE__) 
  508 #define vtkVLogStartScopeF(level, id, ...)                                                         \ 
  509   vtkLogger::StartScopeF(level, id, __FILE__, __LINE__, __VA_ARGS__) 
  517 #define vtkLogIdentifier(vtkobject) vtkLogger::GetIdentifier(vtkobject).c_str() 
  
void operator=(const vtkObjectBase &)
void(*)(void *user_data, const Message &message) LogHandlerCallbackT
Callback handle types.
logging framework for use in VTK and in applications based on VTK
#define VTK_PRINTF_LIKE(fmtarg, firstvararg)
The message structure that is passed to custom callbacks registered using vtkLogger::AddCallback.
abstract base class for most VTK objects
#define VTK_FORMAT_STRING_TYPE
a simple class to control print indentation
FileMode
Support log file modes: TRUNCATE truncates the file clearing any existing contents while APPEND appen...
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void(*)(void *user_data) FlushHandlerCallbackT
void(*)(void *user_data) CloseHandlerCallbackT