--- /dev/null
+#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();
+}