X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Flogger.cpp;h=8bd5f7f88ac6697eb1ee09049db777f39b87bd80;hb=7770cd985405c7630e9149fc08c314ec824a9c75;hp=1a63499d6afaa7b01c334e2fd2b5a55589e9d1b6;hpb=ee641f3f229143940fbe359ac98863edfdf249ce;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/logger.cpp b/src/logger.cpp index 1a63499d6..8bd5f7f88 100644 --- a/src/logger.cpp +++ b/src/logger.cpp @@ -21,7 +21,6 @@ #include "inspircd.h" -#include "filelogger.h" /* * Suggested implementation... @@ -51,12 +50,12 @@ */ const char LogStream::LogHeader[] = - "Log started for " VERSION " (" REVISION ", " MODULE_INIT_STR ")" - " - compiled on " SYSTEM; + "Log started for " INSPIRCD_VERSION " (" INSPIRCD_REVISION ", " MODULE_INIT_STR ")" + " - compiled on " INSPIRCD_SYSTEM; LogManager::LogManager() + : Logging(false) { - Logging = false; } LogManager::~LogManager() @@ -112,14 +111,14 @@ void LogManager::OpenFileLogs() loglevel = LOG_NONE; } FileWriter* fw; - std::string target = tag->getString("target"); + std::string target = ServerInstance->Config->Paths.PrependLog(tag->getString("target")); std::map::iterator fwi = logmap.find(target); if (fwi == logmap.end()) { - char realtarget[MAXBUF]; + char realtarget[256]; time_t time = ServerInstance->Time(); struct tm *mytime = gmtime(&time); - strftime(realtarget, MAXBUF, target.c_str(), mytime); + strftime(realtarget, sizeof(realtarget), target.c_str(), mytime); FILE* f = fopen(realtarget, "a"); fw = new FileWriter(f); logmap.insert(std::make_pair(target, fw)); @@ -208,10 +207,9 @@ void LogManager::DelLogStream(LogStream* l) { for (std::map >::iterator i = LogStreams.begin(); i != LogStreams.end(); ++i) { - std::vector::iterator it; - while ((it = std::find(i->second.begin(), i->second.end(), l)) != i->second.end()) + while (stdalgo::erase(i->second, l)) { - i->second.erase(it); + // Keep erasing while it exists } } @@ -237,11 +235,8 @@ bool LogManager::DelLogType(const std::string &type, LogStream *l) if (i != LogStreams.end()) { - std::vector::iterator it = std::find(i->second.begin(), i->second.end(), l); - - if (it != i->second.end()) + if (stdalgo::erase(i->second, l)) { - i->second.erase(it); if (i->second.size() == 0) { LogStreams.erase(i); @@ -293,7 +288,7 @@ void LogManager::Log(const std::string &type, LogLevel loglevel, const std::stri for (std::map >::iterator gi = GlobalLogStreams.begin(); gi != GlobalLogStreams.end(); ++gi) { - if (std::find(gi->second.begin(), gi->second.end(), type) != gi->second.end()) + if (stdalgo::isin(gi->second, type)) { continue; }