]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/logger.cpp
Change 2.0 cloak function to use variable-length segments
[user/henk/code/inspircd.git] / src / logger.cpp
index b265a8ea67fcbc57206680bf07c880650f491297..ac171027c4d0e044e002589bec530cd20c44a2cd 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2010 InspIRCd Development Team
  * See: http://wiki.inspircd.org/Credits
  *
  * This program is free but copyrighted software; see
@@ -69,7 +69,12 @@ void LogManager::OpenFileLogs()
                std::string type = tag->getString("type");
                std::string level = tag->getString("level");
                int loglevel = DEFAULT;
-               if (level == "debug")
+               if (level == "rawio")
+               {
+                       loglevel = RAWIO;
+                       ServerInstance->Config->RawLog = true;
+               }
+               else if (level == "debug")
                {
                        loglevel = DEBUG;
                }
@@ -94,7 +99,11 @@ void LogManager::OpenFileLogs()
                std::map<std::string, FileWriter*>::iterator fwi = logmap.find(target);
                if (fwi == logmap.end())
                {
-                       FILE* f = fopen(target.c_str(), "a");
+                       char realtarget[MAXBUF];
+                       time_t time = ServerInstance->Time();
+                       struct tm *mytime = gmtime(&time);
+                       strftime(realtarget, MAXBUF, target.c_str(), mytime);
+                       FILE* f = fopen(realtarget, "a");
                        fw = new FileWriter(f);
                        logmap.insert(std::make_pair(target, fw));
                }