2018-06-28 19:46:45 +02:00
|
|
|
#include "singletons/Logging.hpp"
|
2018-04-27 22:11:19 +02:00
|
|
|
|
2018-06-26 14:09:39 +02:00
|
|
|
#include "Application.hpp"
|
|
|
|
#include "debug/Log.hpp"
|
2018-06-28 19:46:45 +02:00
|
|
|
#include "singletons/Paths.hpp"
|
|
|
|
#include "singletons/Settings.hpp"
|
2018-01-28 14:23:55 +01:00
|
|
|
|
|
|
|
#include <QDir>
|
|
|
|
#include <QStandardPaths>
|
|
|
|
|
|
|
|
#include <unordered_map>
|
|
|
|
|
|
|
|
namespace chatterino {
|
|
|
|
|
2018-06-28 19:51:07 +02:00
|
|
|
void Logging::initialize()
|
2018-01-28 14:23:55 +01:00
|
|
|
{
|
2018-04-27 22:11:19 +02:00
|
|
|
this->pathManager = getApp()->paths;
|
2018-01-28 14:23:55 +01:00
|
|
|
}
|
|
|
|
|
2018-06-28 19:51:07 +02:00
|
|
|
void Logging::addMessage(const QString &channelName, MessagePtr message)
|
2018-01-28 14:23:55 +01:00
|
|
|
{
|
2018-04-27 22:11:19 +02:00
|
|
|
auto app = getApp();
|
2018-01-28 14:23:55 +01:00
|
|
|
|
2018-04-27 22:11:19 +02:00
|
|
|
if (!app->settings->enableLogging) {
|
2018-01-28 14:23:55 +01:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2018-07-06 19:23:47 +02:00
|
|
|
auto it = this->loggingChannels_.find(channelName);
|
|
|
|
if (it == this->loggingChannels_.end()) {
|
2018-06-06 20:30:11 +02:00
|
|
|
auto channel = new LoggingChannel(channelName);
|
2018-01-28 14:23:55 +01:00
|
|
|
channel->addMessage(message);
|
2018-07-06 19:23:47 +02:00
|
|
|
this->loggingChannels_.emplace(channelName,
|
2018-01-28 15:28:02 +01:00
|
|
|
std::unique_ptr<LoggingChannel>(std::move(channel)));
|
2018-01-28 14:23:55 +01:00
|
|
|
} else {
|
|
|
|
it->second->addMessage(message);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
} // namespace chatterino
|