QGIS API Documentation 4.1.0-Master (5bf3c20f3c9)
Loading...
Searching...
No Matches
qgsserverlogger.cpp
Go to the documentation of this file.
1/***************************************************************************
2 qgsserverlogger.cpp
3 -------------------
4 begin : May 5, 2014
5 copyright : (C) 2014 by Marco Hugentobler
6 email : marco dot hugentobler at sourcepole dot ch
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#include "qgsserverlogger.h"
19
20#include "moc_qgsserverlogger.cpp"
21
22QgsServerLogger *QgsServerLogger::sInstance = nullptr;
23
25{
26 if ( !sInstance )
27 {
28 sInstance = new QgsServerLogger();
29 }
30 return sInstance;
31}
32
36
37void QgsServerLogger::logMessage( const QString &message, const QString &tag, Qgis::MessageLevel level )
38{
39 if ( mLogLevel > level )
40 {
41 return;
42 }
43 if ( mLogFile.isOpen() )
44 {
45 const QString formattedMessage = formatLogMessage( message, tag, level );
46 mTextStream << formattedMessage;
47 mTextStream.flush();
48 }
49 else if ( mLogStderr )
50 {
51 QgsMessageLogConsole::logMessage( message, tag, level );
52 }
53}
54
55void QgsServerLogger::logMessage( const QString &message, const QString &tag, Qgis::MessageLevel level, Qgis::StringFormat format )
56{
57 ( void ) format;
58 logMessage( message, tag, level );
59}
60
62{
63 mLogLevel = level;
64}
65
66void QgsServerLogger::setLogFile( const QString &filename )
67{
68 mTextStream.flush();
69 mLogFile.close();
70 mLogFile.setFileName( filename );
71
72 if ( ( !filename.isEmpty() ) && mLogFile.open( QIODevice::Append ) )
73 {
74 mTextStream.setDevice( &mLogFile );
75 }
76}
77
79{
80 setLogFile();
81 mLogStderr = true;
82}
MessageLevel
Level for messages This will be used both for message log and message bar in application.
Definition qgis.h:160
StringFormat
Format of log message.
Definition qgis.h:175
QString formatLogMessage(const QString &message, const QString &tag, Qgis::MessageLevel level=Qgis::MessageLevel::Info) const
Formats a log message.
QgsMessageLogConsole()
Constructor for QgsMessageLogConsole.
virtual void logMessage(const QString &message, const QString &tag, Qgis::MessageLevel level)
Logs a message to stderr.
Writes message log into server log files.
static QgsServerLogger * instance()
Gets the singleton instance.
void setLogLevel(Qgis::MessageLevel level)
Set the current log level.
void setLogFile(const QString &filename=QString())
Set the current log file.
void setLogStderr()
Activates logging to stderr.
void logMessage(const QString &message, const QString &tag, Qgis::MessageLevel level) override