Quantum GIS API Documentation  1.8
Static Public Member Functions | Static Private Member Functions | Static Private Attributes
QgsLogger Class Reference

QgsLogger is a class to print debug/warning/error messages to the console. More...

#include <qgslogger.h>

List of all members.

Static Public Member Functions

static void debug (const QString &msg, int debuglevel=1, const char *file=NULL, const char *function=NULL, int line=-1)
 Goes to qDebug.
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 int-value pair.
static void debug (const QString &var, double 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.
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)
 Prints out a variable/value pair for types with overloaded operator<<.
static void warning (const QString &msg)
 Goes to qWarning.
static void critical (const QString &msg)
 Goes to qCritical.
static void fatal (const QString &msg)
 Goes to qFatal.
static int debugLevel ()
 Reads the environment variable QGIS_DEBUG and converts it to int.
static void logMessageToFile (QString theMessage)
 Logs the message passed in to the logfile defined in QGIS_LOG_FILE if any.

Static Private Member Functions

static const QString logFile ()
 Reads the environment variable QGIS_LOG_FILE.
static const char * debugFile ()
 Reads the environment variable QGIS_DEBUG_FILE.

Static Private Attributes

static int sDebugLevel = -999
 current debug level
static int sPrefixLength = -1

Detailed Description

QgsLogger is a class to print debug/warning/error messages to the console.

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.

Definition at line 54 of file qgslogger.h.


Member Function Documentation

void QgsLogger::critical ( const QString &  msg) [static]

Goes to qCritical.

Definition at line 168 of file qgslogger.cpp.

References logMessageToFile().

void QgsLogger::debug ( const QString &  msg,
int  debuglevel = 1,
const char *  file = NULL,
const char *  function = NULL,
int  line = -1 
) [static]

Goes to qDebug.

Parameters:
msgthe message to be printed
debuglevel
filefile name where the message comes from
functionfunction where the message comes from
lineplace in file where the message comes from

Definition at line 33 of file qgslogger.cpp.

References debugFile(), debugLevel(), logFile(), logMessageToFile(), and sPrefixLength.

Referenced by QgsRasterDataProvider::bandStatistics(), and QgsCoordinateTransform::transform().

void QgsLogger::debug ( const QString &  var,
int  val,
int  debuglevel = 1,
const char *  file = NULL,
const char *  function = NULL,
int  line = -1 
) [static]

Similar to the previous method, but prints a variable int-value pair.

Definition at line 80 of file qgslogger.cpp.

References debugFile(), debugLevel(), logMessageToFile(), and sPrefixLength.

void QgsLogger::debug ( const QString &  var,
double  val,
int  debuglevel = 1,
const char *  file = NULL,
const char *  function = NULL,
int  line = -1 
) [static]

Similar to the previous method, but prints a variable double-value pair.

Definition at line 121 of file qgslogger.cpp.

References debugFile(), debugLevel(), logMessageToFile(), and sPrefixLength.

template<typename T >
static void QgsLogger::debug ( const QString &  var,
val,
const char *  file = 0,
const char *  function = 0,
int  line = -1,
int  debuglevel = 1 
) [inline, static]

Prints out a variable/value pair for types with overloaded operator<<.

Definition at line 73 of file qgslogger.h.

References file.

const char * QgsLogger::debugFile ( ) [static, private]

Reads the environment variable QGIS_DEBUG_FILE.

Returns NULL if the variable is not set. If set, only messages from this source file will be sent to logs.

Definition at line 236 of file qgslogger.cpp.

Referenced by debug().

int QgsLogger::debugLevel ( ) [static]

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

Definition at line 180 of file qgslogger.cpp.

References sDebugLevel, and sPrefixLength.

Referenced by debug().

void QgsLogger::fatal ( const QString &  msg) [static]

Goes to qFatal.

Definition at line 174 of file qgslogger.cpp.

References logMessageToFile().

const QString QgsLogger::logFile ( ) [static, private]

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.

Definition at line 216 of file qgslogger.cpp.

Referenced by debug(), and logMessageToFile().

void QgsLogger::logMessageToFile ( QString  theMessage) [static]

Logs the message passed in to the logfile defined in QGIS_LOG_FILE if any.

Definition at line 222 of file qgslogger.cpp.

References file, and logFile().

Referenced by critical(), debug(), fatal(), and warning().

void QgsLogger::warning ( const QString &  msg) [static]

Member Data Documentation

int QgsLogger::sDebugLevel = -999 [static, private]

current debug level

Definition at line 127 of file qgslogger.h.

Referenced by debugLevel().

int QgsLogger::sPrefixLength = -1 [static, private]

Definition at line 128 of file qgslogger.h.

Referenced by debug(), and debugLevel().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines