diff options
Diffstat (limited to 'include/logger.h')
-rw-r--r-- | include/logger.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/include/logger.h b/include/logger.h index d368eb142..eabc9d878 100644 --- a/include/logger.h +++ b/include/logger.h @@ -120,6 +120,7 @@ class Logger Anope::string BuildPrefix() const; void LogMessage(const Anope::string &message); void InsertVariables(FormatInfo &fi); + void CheckOverride(); template<typename... Args> Anope::string Format(const Anope::string &message, Args&&... args) @@ -184,9 +185,13 @@ class Logger template<typename... Args> void Command(LogType type, CommandSource &source, ChanServ::Channel *ci, const Anope::string &message, Args&&... args) { Logger l = *this; + l.type = type; l.SetSource(&source); l.SetCi(ci); + // Override if the source is marked override + l.CheckOverride(); + Anope::string translated = Language::Translate(message); l.LogMessage(l.Format(translated, std::forward<Args>(args)...)); } @@ -196,6 +201,30 @@ class Logger Command(type, source, nullptr, message, std::forward<Args>(args)...); } + // LOG_COMMAND + + template<typename... Args> void Command(CommandSource &source, ChanServ::Channel *ci, const Anope::string &message, Args&&... args) + { + Command(LogType::COMMAND, source, ci, message, std::forward<Args>(args)...); + } + + template<typename... Args> void Command(CommandSource &source, const Anope::string &message, Args&&... args) + { + Command(LogType::COMMAND, source, nullptr, message, std::forward<Args>(args)...); + } + + // LOG_ADMIN + + template<typename... Args> void Admin(CommandSource &source, ChanServ::Channel *ci, const Anope::string &message, Args&&... args) + { + Command(LogType::ADMIN, source, ci, message, std::forward<Args>(args)...); + } + + template<typename... Args> void Admin(CommandSource &source, const Anope::string &message, Args&&... args) + { + Command(LogType::ADMIN, source, nullptr, message, std::forward<Args>(args)...); + } + template<typename... Args> void Log(const Anope::string &message, Args&&... args) { Log(LogLevel::NORMAL, message, std::forward<Args>(args)...); |