new project for server
[buliscores] / buliscores-server / main.cpp
diff --git a/buliscores-server/main.cpp b/buliscores-server/main.cpp
new file mode 100644 (file)
index 0000000..0ae31c6
--- /dev/null
@@ -0,0 +1,59 @@
+#include <QtCore/QCoreApplication>
+#include <QDateTime>
+#include <QFile>
+#include <QTextStream>
+
+void messageHandler(QtMsgType type, const char *msg)
+{
+    static QFile logfile;
+    static QTextStream fw;
+    static const QString LOGFILE_PATH = "/tmp/buliscores.log";
+    static const QtMsgType LOGLEVEL = QtDebugMsg;
+    QString out;
+
+    if (type < LOGLEVEL) {
+        return;
+    }
+
+    if (logfile.isOpen() == false) {
+        logfile.setFileName(LOGFILE_PATH);
+        if (logfile.open(QIODevice::Append) == true) {
+            fw.setDevice((QIODevice*)&logfile);
+            fw << "Logfile Opened: " << QDateTime::currentDateTime().toString();
+        }
+    }
+
+    switch (type) {
+    case QtDebugMsg:
+        out = "%1   Debug: %2\n";
+        break;
+    case QtWarningMsg:
+        out = "%1   Warning: %2\n";
+        break;
+    case QtCriticalMsg:
+        out = "%1   Critical: %2\n";
+        break;
+    case QtFatalMsg:
+        out = "%1   Fatal: %2\n";
+        break;
+    }
+
+    out = out.arg(QDateTime::currentDateTime().toString(), msg);
+
+    if (logfile.isOpen()) {
+        fw << out;
+        fw.flush();
+    }
+    printf("%s", out.toAscii().constData());
+
+    if (type == QtFatalMsg) {
+        qApp->exit(-1);
+    }
+}
+
+int main(int argc, char *argv[])
+{
+    QCoreApplication a(argc, argv);
+
+    return a.exec();
+}