QGIS/python/core/qgslogger.sip
Juergen E. Fischer f3cb57b1eb SIP bindings update:
- update methods of existing classes
- add comment to methods missing in the sip bindings
- split up collective sip files into single files and use
  same directory structure in python/ as in src/
- add a lot of missing classes (some might not make sense because of
  missing python methods in those classes)
- remove some non-existing methods from the header files
- add scripts/sipdiff
- replace some usages of std::vector and std::set with QVector/QSet
2012-09-24 02:42:57 +02:00

54 lines
2.5 KiB
Plaintext

/**QgsLogger is a class to print debug/warning/error messages to the console. The advantage of this class over std::cout, std::cerr & co. is that the output can be controlled with environment variables:
QGIS_DEBUG is an int describing what debug messages are written to the console. If the debug level of a message is <= QGIS_DEBUG, the message is written to the console. It the variable QGIS_DEBUG is not defined, it defaults to 1 for debug mode and to 0 for release mode
QGIS_DEBUG_FILE may contain a file name. Only the messages from this file are printed (provided they have the right debuglevel). If QGIS_DEBUG_FILE is not set, messages from all files are printed
*/
class QgsLogger
{
%TypeHeaderCode
#include <qgslogger.h>
%End
public:
/**Goes to qDebug.
@param msg the message to be printed
@param debuglevel
@param file file name where the message comes from
@param function function where the message comes from
@param line place in file where the message comes from*/
static void debug( const QString& msg, int debuglevel = 1, const char* file = NULL, const char* function = NULL, int line = -1 );
/**Similar to the previous method, but prints a variable int-value pair*/
static void debug( const QString& var, int val, int debuglevel = 1, const char* file = NULL, const char* function = NULL, int line = -1 );
/**Similar to the previous method, but prints a variable double-value pair*/
// PyQGIS: commented out - has the same python signature as method above
// static void debug( const QString& var, double val, int debuglevel = 1, const char* file = NULL, const char* function = NULL, int line = -1 );
/**Prints out a variable/value pair for types with overloaded operator<<*/
// TODO: is it possible to make this working?
//template <typename T> static void debug(const QString& var, T val, const char* file = 0, const char* function = 0,
// int line = -1, int debuglevel = 1);
/**Goes to qWarning*/
static void warning( const QString& msg );
/**Goes to qCritical*/
static void critical( const QString& msg );
/**Goes to qFatal*/
static void fatal( const QString& msg );
/**Reads the environment variable QGIS_DEBUG and converts it to int. If QGIS_DEBUG is not set,
the function returns 1 if QGISDEBUG is defined and 0 if not*/
static int debugLevel();
/** Logs the message passed in to the logfile defined in QGIS_LOG_FILE if any. **/
static void logMessageToFile( QString theMessage );
};