QgsLogger class
QgsLogger is a class to print debug/warning/error messages to the console.
Contents
- Reference
The advantage of this class over iostream & 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
QGIS_LOG_FILE may contain a file name. If set, all messages will be appended to this file rather than to stdout.
Public static functions
- static void critical(const QString& msg)
- Goes to qCritical.
- static void debug(const QString& msg, int debuglevel = 1, const char* file = nullptr, const char* function = nullptr, int line = -1)
- Goes to qDebug.
- static void debug(const QString& var, int val, int debuglevel = 1, const char* file = nullptr, const char* function = nullptr, int line = -1)
- Similar to the previous method, but prints a variable int-value pair.
- static void debug(const QString& var, double val, int debuglevel = 1, const char* file = nullptr, const char* function = nullptr, int line = -1)
- Similar to the previous method, but prints a variable double-value pair.
-
template<typename T>static void debug(const QString& var, T val, const char* file = nullptr, const char* function = nullptr, int line = -1, int debuglevel = 1)
- Prints out a variable/value pair for types with overloaded operator<<.
- static auto debugLevel() -> int
- Reads the environment variable QGIS_DEBUG and converts it to int.
- static void fatal(const QString& msg)
- Goes to qFatal.
- static auto logFile() -> const QString
- Reads the environment variable QGIS_LOG_FILE.
- static void logMessageToFile(const QString& message)
- Logs the message passed in to the logfile defined in QGIS_LOG_FILE if any. *.
- static void warning(const QString& msg)
- Goes to qWarning.
Function documentation
static void QgsLogger:: debug(const QString& msg,
int debuglevel = 1,
const char* file = nullptr,
const char* function = nullptr,
int line = -1)
Goes to qDebug.
| Parameters | |
|---|---|
| msg | the message to be printed |
| debuglevel | |
| file | file name where the message comes from |
| function | function where the message comes from |
| line | place in file where the message comes from |
static void QgsLogger:: debug(const QString& var,
double val,
int debuglevel = 1,
const char* file = nullptr,
const char* function = nullptr,
int line = -1)
Similar to the previous method, but prints a variable double-value pair.
template<typename T>
static void QgsLogger:: debug(const QString& var,
T val,
const char* file = nullptr,
const char* function = nullptr,
int line = -1,
int debuglevel = 1)
Prints out a variable/value pair for types with overloaded operator<<.
static int QgsLogger:: debugLevel()
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 const QString QgsLogger:: logFile()
Reads the environment variable QGIS_LOG_FILE.
Returns NULL if the variable is not set, otherwise returns a file name for writing log messages to.