|
|
@ -2,7 +2,7 @@
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
|
|
|
|
* Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
|
|
|
|
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
|
|
|
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
|
|
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
|
|
|
* Copyright 2017-2019, Adriaan de Groot <groot@kde.org>
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* Calamares is free software: you can redistribute it and/or modify
|
|
|
|
* Calamares is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
@ -27,7 +27,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
namespace Logger
|
|
|
|
namespace Logger
|
|
|
|
{
|
|
|
|
{
|
|
|
|
extern const char* continuation;
|
|
|
|
/** @brief tag-class used for continuing debug-output on the next line
|
|
|
|
|
|
|
|
*
|
|
|
|
|
|
|
|
* A continuation starts a new debug-log line, without the timestamp and
|
|
|
|
|
|
|
|
* other leading information. Used when dumping tables and lists. Represented
|
|
|
|
|
|
|
|
* in the log by a newline and four spaces.
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
struct Continuation
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
} ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** @brief tag-class used to indicate a log line is a sub-entry
|
|
|
|
|
|
|
|
*
|
|
|
|
|
|
|
|
* Sub-entries indicate additional information that isn't a continuation
|
|
|
|
|
|
|
|
* of the previous line, or sub-steps of something that has already been logged.
|
|
|
|
|
|
|
|
* Represented in the log as space dot dot space.
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
struct SubEntry
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
} ;
|
|
|
|
|
|
|
|
|
|
|
|
enum
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -95,6 +113,13 @@ namespace Logger
|
|
|
|
/** @brief Would the given @p level really be logged? */
|
|
|
|
/** @brief Would the given @p level really be logged? */
|
|
|
|
DLLEXPORT bool logLevelEnabled( unsigned int level );
|
|
|
|
DLLEXPORT bool logLevelEnabled( unsigned int level );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// @brief Output a continuation
|
|
|
|
|
|
|
|
DLLEXPORT CDebug& operator <<( CDebug&& s, Continuation c );
|
|
|
|
|
|
|
|
DLLEXPORT QDebug& operator <<( QDebug& s, Continuation c );
|
|
|
|
|
|
|
|
/// @brief Output a subentry marker
|
|
|
|
|
|
|
|
DLLEXPORT CDebug& operator <<( CDebug&& s, SubEntry level );
|
|
|
|
|
|
|
|
DLLEXPORT QDebug& operator <<( QDebug& s, SubEntry level );
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @brief Row-oriented formatted logging.
|
|
|
|
* @brief Row-oriented formatted logging.
|
|
|
|
*
|
|
|
|
*
|
|
|
@ -161,7 +186,7 @@ namespace Logger
|
|
|
|
inline QDebug&
|
|
|
|
inline QDebug&
|
|
|
|
operator <<( QDebug& s, const DebugRow<T, U>& t )
|
|
|
|
operator <<( QDebug& s, const DebugRow<T, U>& t )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
s << continuation << t.first << ':' << ' ' << t.second;
|
|
|
|
s << Continuation() << t.first << ':' << ' ' << t.second;
|
|
|
|
return s;
|
|
|
|
return s;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -170,7 +195,7 @@ namespace Logger
|
|
|
|
operator <<( QDebug& s, const DebugList& c )
|
|
|
|
operator <<( QDebug& s, const DebugList& c )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
for( const auto& i : c.list )
|
|
|
|
for( const auto& i : c.list )
|
|
|
|
s << continuation << i;
|
|
|
|
s << Continuation() << i;
|
|
|
|
return s;
|
|
|
|
return s;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -182,7 +207,7 @@ namespace Logger
|
|
|
|
operator <<( QDebug& s, const DebugMap& t )
|
|
|
|
operator <<( QDebug& s, const DebugMap& t )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
for ( auto it = t.map.constBegin(); it != t.map.constEnd(); ++it )
|
|
|
|
for ( auto it = t.map.constBegin(); it != t.map.constEnd(); ++it )
|
|
|
|
s << continuation << it.key().toUtf8().constData() << ':' << ' ' << toString( it.value() ).toUtf8().constData();
|
|
|
|
s << Continuation() << it.key().toUtf8().constData() << ':' << ' ' << toString( it.value() ).toUtf8().constData();
|
|
|
|
return s;
|
|
|
|
return s;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|