Index: src/QtGUI/CMakeLists.txt
===================================================================
--- src/QtGUI/CMakeLists.txt	(revision 70607)
+++ src/QtGUI/CMakeLists.txt	(working copy)
@@ -36,6 +36,7 @@
 set(QtGUI_Sources
     CameraView.cpp
     GraphicView.cpp
+    LogView.cpp
     main.cpp
     MainWindow.cpp
     ObjectsTreeView.cpp
Index: src/QtGUI/LogView.cpp
===================================================================
--- src/QtGUI/LogView.cpp	(nonexistent)
+++ src/QtGUI/LogView.cpp	(working copy)
@@ -0,0 +1,53 @@
+/*                         L O G V I E W . C P P
+ * BRL-CAD
+ *
+ * Copyright (c) 2018 United States Government as represented by
+ * the U.S. Army Research Laboratory.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+/** @file LogView.cpp
+ *
+ *  BRL-CAD Qt GUI:
+ *      implementation log output view
+ */
+
+#include "LogView.h"
+
+LogView::LogView(
+    QWidget* parent)
+    : QPlainTextEdit(parent)
+    , BRLCAD::LogHandler()
+{
+    document()->setMaximumBlockCount(100);
+    setUndoRedoEnabled(false);
+    setReadOnly(true);
+
+    BRLCAD::RegisterLogHandler(*this);
+}
+
+void LogView::operator()(const char* logString) throw()
+{
+    insertPlainText(QString::fromUtf8(logString));
+}
+
+LogView::~LogView(void)
+{
+    BRLCAD::DeRegisterLogHandler(*this);
+}
+
Index: src/QtGUI/LogView.h
===================================================================
--- src/QtGUI/LogView.h	(nonexistent)
+++ src/QtGUI/LogView.h	(working copy)
@@ -0,0 +1,52 @@
+/*                           L O G V I E W . H
+ * BRL-CAD
+ *
+ * Copyright (c) 2018 United States Government as represented by
+ * the U.S. Army Research Laboratory.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+/** @file LogView.h
+ *
+ *  BRL-CAD Qt GUI:
+ *      declaration log output view
+ */
+
+#ifndef LOGVIEW_H
+#define LOGVIEW_H
+
+#include <QPlainTextEdit>
+
+#include <brlcad/ConstDatabase.h>
+#include <brlcad/globals.h>
+
+class LogView : public QPlainTextEdit, BRLCAD::LogHandler {
+    Q_OBJECT
+
+public:
+    LogView(QWidget* parent = 0);
+    ~LogView(void);
+    void operator()(const char* logString) throw();
+
+protected:
+    LogView(const LogView&) {}
+    const LogView& operator=(const LogView&) { return *this; }
+};
+
+#endif // LOGVIEW_H
+
Index: src/QtGUI/MainWindow.cpp
===================================================================
--- src/QtGUI/MainWindow.cpp	(revision 70607)
+++ src/QtGUI/MainWindow.cpp	(working copy)
@@ -33,10 +33,13 @@
 #include <QFileDialog>
 #include <QMessageBox>
 #include <QDockWidget>
+#include <QSettings> 
+#include <QDir> 
+#include <QDebug> 
+#include <QStandardPaths>
 
 #include "MainWindow.h"
 
 MainWindow::MainWindow
 (
     const char* file,
@@ -46,7 +49,7 @@
     // create menus for menuBar
     QAction* fileOpenAction = new QAction(tr("&Open File"));
     fileOpenAction->setShortcuts(QKeySequence::Open);
     fileOpenAction->setStatusTip(tr("Open an Existing File"));
     connect(fileOpenAction, &QAction::triggered, this, &MainWindow::OpenFile);
 
     // adding actions to QMenu
@@ -59,7 +62,6 @@
 
     // the objects tree
     QDockWidget* objectsWidget = new QDockWidget(tr("Object Selection"));

     m_objectsTreeView = new ObjectsTreeView(m_database);
     objectsWidget->setWidget(m_objectsTreeView);
     addDockWidget(Qt::LeftDockWidgetArea, objectsWidget);
@@ -66,11 +68,16 @@
 
     // the projection control
     QDockWidget* cameraWidget = new QDockWidget(tr("Projection Settings"));

     m_cameraView = new CameraView(m_database, m_graphicView);
     cameraWidget->setWidget(m_cameraView);
     addDockWidget(Qt::RightDockWidgetArea, cameraWidget);
 
+    // display the logged information 
+    QDockWidget* logWidget = new QDockWidget(tr("Logging")); 
+    m_logView = new LogView(); 
+    logWidget->setWidget(m_logView); 
+    addDockWidget(Qt::BottomDockWidgetArea, logWidget); 
+
     connect(m_objectsTreeView, &ObjectsTreeView::SelectionChanged, m_graphicView, &GraphicView::Update);
     connect(m_cameraView, &CameraView::Changed, m_graphicView, &GraphicView::UpdateTrafo);
 
@@ -78,16 +85,15 @@
 
     if (file != 0)
         LoadDatabase(file);
 }
 
 void MainWindow::OpenFile(void) {
     QString filePath = QFileDialog::getOpenFileName(this, tr("Open BRL-CAD database"), QString(), "BRL-CAD Database (*.g)");
     LoadDatabase(filePath.toUtf8().data());
 }
 
 void MainWindow::LoadDatabase
 (
     const char* fileName
@@ -104,3 +110,4 @@
         m_cameraView->Reset();
     }
 }

Index: src/QtGUI/MainWindow.h
===================================================================
--- src/QtGUI/MainWindow.h	(revision 70607)
+++ src/QtGUI/MainWindow.h	(working copy)
@@ -38,19 +38,19 @@
 #include "ObjectsTreeView.h"
 #include "CameraView.h"
 #include "GraphicView.h"
+#include "LogView.h" 
 
 class MainWindow : public QMainWindow {
     Q_OBJECT 
 public:
     MainWindow(const char* file,
                QWidget*    parent = 0);
 private:
     BRLCAD::ConstDatabase m_database;
     GraphicView*          m_graphicView;
     ObjectsTreeView*      m_objectsTreeView;
     CameraView*           m_cameraView;
+    LogView*              m_logView;
 
     void LoadDatabase(const char* fileName);
 
Index: src/QtGUI/main.cpp
===================================================================
--- src/QtGUI/main.cpp	(revision 70607)
+++ src/QtGUI/main.cpp	(working copy)
@@ -32,7 +32,6 @@
 
 #include "MainWindow.h"
 

 int main(int argc, char *argv[])
 {
     QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
