11 #include <QContiguousCache>
14 #include <QFileInfoList>
15 #include <QLoggingCategory>
16 #include <QMessageLogContext>
19 #include <QStringList>
20 #include <QTemporaryFile>
22 #define spawnMessageLogger(category)\
23 QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, category().categoryName())
25 class test_LogHandler;
48 void fireRawLog(
const QString& pMsg,
const QString& pCategoryName);
56 friend class ::test_LogHandler;
57 friend class ::test_LogModel;
66 static QString getLogFileTemplate();
68 QPointer<LogEventHandler> mEventHandler;
69 const bool mEnvPattern;
70 const int mFunctionFilenameSize;
71 qint64 mBacklogPosition;
73 QContiguousCache<LogWindowEntry> mCriticalLogWindow;
74 QStringList mCriticalLogIgnore;
75 const QString mMessagePattern, mDefaultMessagePattern;
76 QPointer<QTemporaryFile> mLogFile;
77 QtMessageHandler mHandler;
79 const QByteArray mFilePrefix;
82 inline void copyMessageLogContext(
const QMessageLogContext& pSource,
83 QMessageLogContext& pDestination,
84 const QByteArray& pFilename = QByteArray(),
85 const QByteArray& pFunction = QByteArray(),
86 const QByteArray& pCategory = QByteArray())
const;
87 inline void logToFile(
const QString& pOutput);
88 inline QByteArray formatFunction(
const char*
const pFunction,
const QByteArray& pFilename,
int pLine)
const;
89 inline QByteArray formatFilename(
const char*
const pFilename)
const;
90 [[nodiscard]]
inline QByteArray formatCategory(
const QByteArray& pCategory)
const;
92 [[nodiscard]] QString getPaddedLogMsg(
const QMessageLogContext& pContext,
const QString& pMsg)
const;
93 void handleMessage(QtMsgType pType,
const QMessageLogContext& pContext,
const QString& pMsg);
94 void handleLogWindow(QtMsgType pType,
const char* pCategory,
const QString& pMsg);
95 void removeOldLogfiles();
96 QByteArray readLogFile(qint64 pStart, qint64 pLength = -1);
98 static void messageHandler(QtMsgType pType,
const QMessageLogContext& pContext,
const QString& pMsg);
118 bool copy(
const QString& pDest);
119 [[nodiscard]]
bool copyOther(
const QString& pSource,
const QString& pDest)
const;
127 static QDateTime
getFileDate(
const QFileInfo& pInfo);
139 Q_ASSERT(pHandler.mLogFile);
141 QDebugStateSaver saver(pDbg);
142 pDbg.nospace() << pHandler.mLogFile->fileName();
Definition: LogHandler.h:33
void fireLog(const QString &pMsg)
Every log will be fired by this signal. Be aware that you NEVER use a qDebug() or something like that...
void fireRawLog(const QString &pMsg, const QString &pCategoryName)
Definition: LogHandler.h:52
bool setAutoRemove(bool pRemove)
Definition: LogHandler.cpp:132
void resetBacklog()
Definition: LogHandler.cpp:235
void init()
Definition: LogHandler.cpp:73
int getCriticalLogCapacity() const
Definition: LogHandler.cpp:205
void setUseHandler(bool pEnable)
Definition: LogHandler.cpp:525
bool hasCriticalLog() const
Definition: LogHandler.cpp:199
bool useHandler() const
Definition: LogHandler.cpp:531
friend QDebug operator<<(QDebug, const LogHandler &)
Definition: LogHandler.h:137
const LogEventHandler * getEventHandler() const
Definition: LogHandler.cpp:120
void setCriticalLogCapacity(int pSize)
Definition: LogHandler.cpp:211
QByteArray getCriticalLogWindow()
Definition: LogHandler.cpp:184
bool useLogfile() const
Definition: LogHandler.cpp:519
QDateTime getCurrentLogfileDate() const
Definition: LogHandler.cpp:229
QFileInfoList getOtherLogfiles() const
Definition: LogHandler.cpp:445
void setLogfile(bool pEnable)
Definition: LogHandler.cpp:491
static LogHandler & getInstance()
QByteArray getBacklog(bool pAll=false)
Definition: LogHandler.cpp:177
bool copy(const QString &pDest)
Definition: LogHandler.cpp:410
static QDateTime getFileDate(const QFileInfo &pInfo)
Definition: LogHandler.cpp:218
virtual ~LogHandler()
Definition: LogHandler.cpp:49
bool removeOtherLogfiles()
Definition: LogHandler.cpp:478
bool copyOther(const QString &pSource, const QString &pDest) const
Definition: LogHandler.cpp:423
bool isInstalled() const
Definition: LogHandler.cpp:126
void reset()
Definition: LogHandler.cpp:62
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
QDebug operator<<(QDebug pDbg, const CardInfo &pCardInfo)
Definition: CardInfo.cpp:281