Index: trunk/BNC/bncapp.cpp
===================================================================
--- trunk/BNC/bncapp.cpp	(revision 108)
+++ trunk/BNC/bncapp.cpp	(revision 109)
@@ -16,6 +16,4 @@
  * -----------------------------------------------------------------------*/
 
-#include <QFile>
-#include <QTextStream>
 #include <iostream>
 
@@ -28,4 +26,15 @@
 bncApp::bncApp(int argc, char* argv[], bool GUIenabled) : 
   QApplication(argc, argv, GUIenabled) {
+
+  _logFile   = 0;
+  _logStream = 0;
+  for (int ii = 1; ii < argc; ii++) {
+    if (QString(argv[ii]) == "-o" && ii+1 < argc) {
+      _logFile = new QFile(argv[ii+1]);
+      _logFile->open(QIODevice::WriteOnly);
+      _logStream = new QTextStream();
+      _logStream->setDevice(_logFile);
+    }
+  }
 }
 
@@ -33,4 +42,6 @@
 ////////////////////////////////////////////////////////////////////////////
 bncApp::~bncApp() {
+  delete _logStream;
+  delete _logFile;
 }
 
@@ -38,17 +49,10 @@
 ////////////////////////////////////////////////////////////////////////////
 void bncApp::slotMessage(const QByteArray msg) {
-#ifndef WIN32
-  cerr << msg.data() << endl;
-#else
-  static bool        first = true;
-  static QFile       logFile("BNC.LOG");
-  static QTextStream logStream;
-  if (first) {
-    first = false;
-    logFile.open(QIODevice::WriteOnly);
-    logStream.setDevice(&logFile);
+  if (_logStream) {
+    *_logStream << msg.data() << endl;
+    _logStream->flush();
   }
-  logStream << msg.data() << endl;
-  logStream.flush();
-#endif
+  else {
+    cerr << msg.data() << endl;
+  }
 }
Index: trunk/BNC/bncapp.h
===================================================================
--- trunk/BNC/bncapp.h	(revision 108)
+++ trunk/BNC/bncapp.h	(revision 109)
@@ -4,16 +4,17 @@
 
 #include <QApplication>
+#include <QFile>
+#include <QTextStream>
 
 class bncApp : public QApplication {
   Q_OBJECT
-
   public:
     bncApp(int argc, char* argv[], bool GUIenabled);
     virtual ~bncApp();  
-
   public slots:
     void slotMessage(const QByteArray msg);
-  
-  private slots:
+  private:
+    QFile*       _logFile;
+    QTextStream* _logStream;
 };
 #endif
