diff options
Diffstat (limited to 'src/CRSMLogging.hpp')
| -rw-r--r-- | src/CRSMLogging.hpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/CRSMLogging.hpp b/src/CRSMLogging.hpp new file mode 100644 index 0000000..7f30b3e --- /dev/null +++ b/src/CRSMLogging.hpp @@ -0,0 +1,42 @@ +#pragma once + +#include <QFile> +#include <QMap> +#include <QString> + +#include "ClientInfo.hpp" + +class ScenarioSettings; + +class CRSMLogging +{ + QString logFolder; + QString mainLogName; + QString timestampFormat; + QFile mainLog; + QMap<QString, QFile*> logFiles; + + const char* cmdLogsFolder = "cmd/"; + const char* ircLogsFolder = "irc/"; + const char* modLogsFolder = "mod/"; + const char* userLogsFolder = "usr/"; + const char* clonkLogFile = "clonk"; + const char* clonkChatLogFile = "clonk.chat"; + const char* scensLogFile = "scenarios"; +public: + CRSMLogging(); + + QString setLogFolder(const QString& folder); + QString setMainLog(const QString& fileName); + void setTimestampFormat(const QString& format); + void log(const QString& message, const QString logFile = ""); + void clonkUserLog(const QString& message, const ClientInfo& client, bool action, bool command = false, bool response = false); + void modLog(const QString& message, const ClientInfo& client, const QString& modName, bool response); + void commandLog(const QString& message, const ClientInfo& client, bool response); + void ircLog(const QString& message, const QString &nick, bool query = false, QString channel = "", bool action = false, bool notice = false, bool response = false); + void ircUserLog(const QString& message, const ClientInfo &client, bool query, const QString &channel, bool action, bool notice); + void clonkChatLog(const QString& message); + void clonkLog(const QString& message); + void scenLog(const ScenarioSettings& scen); + QString formatIrcNick(const QString& nick, bool noChannel, const QString& channel, bool action, bool notice); +}; |
