summaryrefslogtreecommitdiffstats
path: root/pokemod/Debug.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2007-07-21 01:39:22 +0000
committerBen Boeckel <MathStuf@gmail.com>2007-07-21 01:39:22 +0000
commite94d9893b8753e72adb92b2c5eb203830ddf641c (patch)
treefe283d6ede1cfe1a1613742811fb5b34fb8db68c /pokemod/Debug.cpp
parent65cc463f1d91fe99acf1c4dd9bce7e0038593022 (diff)
downloadsigen-e94d9893b8753e72adb92b2c5eb203830ddf641c.tar.gz
sigen-e94d9893b8753e72adb92b2c5eb203830ddf641c.tar.xz
sigen-e94d9893b8753e72adb92b2c5eb203830ddf641c.zip
Moved to GPLv3 and Qt4, Changed String -> QString, other minor fixes
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@23 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemod/Debug.cpp')
-rw-r--r--pokemod/Debug.cpp92
1 files changed, 45 insertions, 47 deletions
diff --git a/pokemod/Debug.cpp b/pokemod/Debug.cpp
index 8790f13c..6cf6c98e 100644
--- a/pokemod/Debug.cpp
+++ b/pokemod/Debug.cpp
@@ -6,78 +6,76 @@
// Created: Wed Feb 14 23:44:39 2007
// Copyright: ©2007 Nerdy Productions
// Licence:
-// This program is free software; you can redistribute it and/or modify
+// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
+// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
-//
+//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
-//
+//
// You should have received a copy of the GNU General Public License along
-// with this program; if not, write to the Free Software Foundation, Inc.,
-// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+// with this program. If not, see <http://www.gnu.org/licenses/>.
/////////////////////////////////////////////////////////////////////////////
#include "Debug.h"
-PokeGen::PokeMod::Log::~Log()
-{
- flog.close();
-}
-
-
-void PokeGen::PokeMod::Log::Write(const char *msg, const unsigned l)
+PokeGen::PokeMod::Log::~Log()
{
-#ifdef PM_DEBUG
+ flog.close();
+}
+
+void PokeGen::PokeMod::Log::Write(const QString &msg, const unsigned l)
+{
+#ifdef PM_DEBUG
// Actual strings of the debugging levels
const char *PokeModDebugStr[8] = {"Emergency", "Alert", "Critical Error", "Error", "Warning", "Notice", "Info", "Debug"};
// Only log if wanted
if (l & level)
{
// Get the current time
- char path[21];
- char time[9];
- short word = 0;
- unsigned short temp = l;
- while (temp >>= 1)
+ QString path(QDate::currentDate().toString("yyyy/MM-MMM/dd-ddd"));
+ QString time(QTime::currentTime().toString("hh:mm:ss.zzz"));
+ short word = 0;
+ unsigned short temp = l;
+ while (temp >>= 1)
++word;
- time_t rawTime = std::time(NULL);
- tm *curTime = std::localtime(&rawTime);
- strftime(path, 21, "%y/%m-%b/%d-%a", curTime);
- if (lastDay != path)
- {
- if (flog.is_open())
- flog.close();
- flog.open(String(PM_DEF_DIR ".pokegen" PM_DEF_SEP "log" PM_DEF_SEP "pokemod" PM_DEF_SEP "%s.log", path), std::ios::app);
+ if (lastDay != path)
+ {
+ if (flog.isOpen())
+ flog.close();
+ flog.setFileName(QString(PM_DEF_DIR ".pokegen" PM_DEF_SEP "log" PM_DEF_SEP "pokemod" PM_DEF_SEP "%1.log").arg(path));
+ flog.open(QIODevice::Append);
}
- strftime(time, 9, "%X", curTime);
// Get the actual output message
- String output("%s (%s): %s", PokeModDebugStr[word], time, msg);
- String validate("%s: %s", PokeModDebugStr[word], time, msg);
- // Output to the command window
+ QString output = QString("%1 (%2): %3").arg(PokeModDebugStr[word]).arg(time).arg(msg);
+ QString validate = QString("%1: %2").arg(PokeModDebugStr[word]).arg(msg);
+ // Output to the command window
if (consoleOutput)
- std::cout << output << std::endl;
- // Output to other streams (if wanted)
- if (useOtherOutput && otherOutput->good())
- *otherOutput << output << std::endl;
- if ((l & PM_DEBUG_VALIDATION) && useOtherOutputV && otherOutputV->good())
- *otherOutputV << validate << std::endl;
- if (fileOutput)
- {
+ console << output << endl;
+ // Output to other streams (if wanted)
+ if (useOtherOutput && !otherOutput->status())
+ *otherOutput << output << endl;
+ if ((l & PM_DEBUG_VALIDATION) && useOtherOutputV && !otherOutputV->status())
+ *otherOutputV << validate << endl;
+ if (fileOutput)
+ {
// Output errors if the file fails
- if (!flog)
+ if (flog.error())
{
- if (consoleOutput)
- std::cout << "Alert (" << curTime << "): Unable to open log file!" << std::endl;
- if (useOtherOutput && otherOutput->good())
- *otherOutput << "Alert (" << curTime << "): Unable to open log file!" << std::endl;
+ if (consoleOutput)
+ console << "Alert (" << QTime::currentTime().toString("hh:mm:ss.zzz") << "): Unable to open log file!" << endl;
+ if (useOtherOutput && !otherOutput->status())
+ *otherOutput << "Alert (" << QTime::currentTime().toString("hh:mm:ss.zzz") << "): Unable to open log file!" << endl;
}
else
- flog << output << '\n';
- }
- }
+ {
+ QTextStream temp(&flog);
+ temp << output << "\n";
+ }
+ }
+ }
#endif
}