File indexing completed on 2024-04-21 05:46:11

0001 /*
0002     SPDX-FileCopyrightText: 2008-2010 Volker Lanz <vl@fidra.de>
0003     SPDX-FileCopyrightText: 2015 Teo Mrnjavac <teo@kde.org>
0004     SPDX-FileCopyrightText: 2020 Andrius Štikonas <andrius@stikonas.eu>
0005 
0006     SPDX-License-Identifier: GPL-3.0-or-later
0007 */
0008 
0009 #include "util/globallog.h"
0010 
0011 GlobalLog* GlobalLog::instance()
0012 {
0013     static GlobalLog* p = nullptr;
0014 
0015     if (p == nullptr)
0016         p = new GlobalLog();
0017 
0018     return p;
0019 }
0020 
0021 void GlobalLog::flush(Log::Level lev)
0022 {
0023     Q_EMIT newMessage(lev, msg);
0024     msg.clear();
0025 }
0026 
0027 // --------------------------------------------------------------------------
0028 
0029 Log::~Log()
0030 {
0031     if (--ref == 0)
0032         GlobalLog::instance()->flush(level);
0033 }
0034 
0035 #include "moc_globallog.cpp"