2017-12-20 14:39:09 +01:00
|
|
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
2014-06-06 16:00:42 +02:00
|
|
|
*
|
|
|
|
* Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
|
|
|
|
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
2017-06-21 14:27:10 +02:00
|
|
|
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
2014-06-06 16:00:42 +02:00
|
|
|
*
|
|
|
|
* Calamares is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* Calamares is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef CALAMARES_LOGGER_H
|
|
|
|
#define CALAMARES_LOGGER_H
|
|
|
|
|
|
|
|
#include <QDebug>
|
|
|
|
|
|
|
|
#include "DllMacro.h"
|
|
|
|
|
|
|
|
namespace Logger
|
|
|
|
{
|
2018-02-12 14:03:04 +01:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
LOG_DISABLE = 0,
|
|
|
|
LOGERROR = 1,
|
|
|
|
LOGWARNING = 2,
|
|
|
|
LOGINFO = 3,
|
|
|
|
LOGEXTRA = 5,
|
|
|
|
LOGDEBUG = 6,
|
|
|
|
LOGVERBOSE = 8
|
|
|
|
} ;
|
|
|
|
|
2014-06-06 16:00:42 +02:00
|
|
|
class DLLEXPORT CLog : public QDebug
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
CLog( unsigned int debugLevel = 0 );
|
|
|
|
virtual ~CLog();
|
|
|
|
|
|
|
|
private:
|
|
|
|
QString m_msg;
|
|
|
|
unsigned int m_debugLevel;
|
|
|
|
};
|
|
|
|
|
|
|
|
class DLLEXPORT CDebug : public CLog
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
CDebug( unsigned int debugLevel = LOGDEBUG ) : CLog( debugLevel )
|
|
|
|
{
|
|
|
|
}
|
2017-06-21 13:22:08 +02:00
|
|
|
virtual ~CDebug();
|
2014-06-06 16:00:42 +02:00
|
|
|
};
|
|
|
|
|
2018-03-28 15:27:11 +02:00
|
|
|
/**
|
|
|
|
* @brief Start logging to the log file.
|
|
|
|
*
|
|
|
|
* Call this (once) to start logging to the log file (usually
|
|
|
|
* ~/.cache/calamares/session.log ). An existing log file is
|
|
|
|
* rolled over if it is too large.
|
|
|
|
*/
|
2014-06-06 16:00:42 +02:00
|
|
|
DLLEXPORT void setupLogfile();
|
2018-02-20 13:37:44 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Set a log level for future logging.
|
|
|
|
*
|
|
|
|
* Pass in a value from the LOG* enum, above. Use 0 to
|
|
|
|
* disable logging. Values greater than LOGVERBOSE are
|
|
|
|
* limited to LOGVERBOSE, which will log everything.
|
|
|
|
*
|
|
|
|
* Practical values are 0, 1, 2, and 6.
|
|
|
|
*/
|
|
|
|
DLLEXPORT void setupLogLevel( unsigned int level );
|
2014-06-06 16:00:42 +02:00
|
|
|
}
|
|
|
|
|
2014-06-12 13:49:58 +02:00
|
|
|
#define cLog Logger::CLog
|
|
|
|
#define cDebug Logger::CDebug
|
2018-02-12 16:20:03 +01:00
|
|
|
#define cWarning() Logger::CDebug(Logger::LOGWARNING) << "WARNING:"
|
|
|
|
#define cError() Logger::CDebug(Logger::LOGERROR) << "ERROR:"
|
2014-06-06 16:00:42 +02:00
|
|
|
|
|
|
|
#endif // CALAMARES_LOGGER_H
|