Computer Assisted Medical Intervention Tool Kit version 6.0
 
Loading...
Searching...
No Matches
CamiTKLogger.h
Go to the documentation of this file.
1/*****************************************************************************
2 * $CAMITK_LICENCE_BEGIN$
3 *
4 * CamiTK - Computer Assisted Medical Intervention ToolKit
5 * (c) 2001-2025 Univ. Grenoble Alpes, CNRS, Grenoble INP - UGA, TIMC, 38000 Grenoble, France
6 *
7 * Visit http://camitk.imag.fr for more information
8 *
9 * This file is part of CamiTK.
10 *
11 * CamiTK is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * CamiTK is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details.
19 *
20 * You should have received a copy of the GNU Lesser General Public License
21 * version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22 *
23 * $CAMITK_LICENCE_END$
24 ****************************************************************************/
25
26#ifndef CAMITKLOGGER_H
27#define CAMITKLOGGER_H
28
29// -- Core stuff
30#include "CamiTKAPI.h"
31#include "InterfaceLogger.h"
32
33// -- Qt stuff
34#include <QDir>
35#include <QDateTime>
36class QFile;
37class QTextStream;
38
39namespace camitk {
40
125
126public :
128 CamiTKLogger();
129
131 ~CamiTKLogger() override;
132
135 LogLevel getLogLevel() override;
136
139 void setLogLevel(LogLevel level) override;
140
143 void setLogToStandardOutput(bool writeToStdOut) override;
144
148 bool getLogToStandardOutput() override;
149
157 bool setLogToFile(bool writeToFile) override;
158
175 bool setLogFileDirectory(QDir directoryName, bool moveExistingLogFile = true) override;
176
178 bool getLogToFile() override;
179
181 QFileInfo getLogFileInfo() override;
182
188 void setMessageBoxLevel(LogLevel level) override;
189
191 LogLevel getMessageBoxLevel() override;
192
197 void setDebugInformation(bool) override;
198
200 bool getDebugInformation() override;
201
207 void setTimeStampInformation(bool showTimeStamp) override;
208
210 bool getTimeStampInformation() override;
211
223 QString log(const QString msg, const LogLevel level, char const* fileName, char const* methodName, int lineNumber, const QObject* sender = nullptr) override final;
224
225
226protected:
228 virtual QString buildLogMessage(QString message, LogLevel level, char const* fileName, char const* methodName, int lineNumber, const QObject* sender = nullptr);
229
230private:
232 QString getCamiTKAPIInformation(const QObject* sender);
233
235 bool openLogFile(bool moveFile = false, QFileInfo fileToMove = QFileInfo());
236
238 void closeLogFile();
239
242
244 InterfaceLogger::LogLevel messageBoxLevel;
245
247 bool logToStdOut;
248
250 bool logToFile;
251
253 bool displayDebugInformation;
254
256 bool displayTimeStampInformation;
257
259 QDir logFileDirectory;
260
262 QFile* logFile;
263
265 QTextStream* logStream;
266
268 QDateTime logStartTime;
269
270};
271
272}
273
274#endif // CAMITKLOGGER_H
#define CAMITK_API
Definition CamiTKAPI.h:66
This is the default logger for CamiTK.
Definition CamiTKLogger.h:124
The CamiTK logger interface provides a flexible tracing system to CamiTK applications.
Definition InterfaceLogger.h:51
LogLevel
: how chatty should the log output be...
Definition InterfaceLogger.h:60
Definition Action.cpp:40