diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in
index edb501954b1f6137ac4b92ec65b8dca5225b2134..296f1dae7234d61e00add2fea51c4ffd08c6cfbc 100644
--- a/Documentation/Doxyfile.in
+++ b/Documentation/Doxyfile.in
@@ -769,7 +769,7 @@ WARN_FORMAT            = "$file:$line: $text"
 # messages should be written. If left blank the output is written to standard
 # error (stderr).
 
-WARN_LOGFILE           =
+WARN_LOGFILE           = ${OGS_DOXYGEN_LOGFILE}
 
 #---------------------------------------------------------------------------
 # Configuration options related to the input files
diff --git a/scripts/cmake/DocumentationSetup.cmake b/scripts/cmake/DocumentationSetup.cmake
index 884b77ab72648253ce4f1fce7e3d5f299b8e9af5..e7bea8c760f3d50e9ea97c3fce9708b3a811e23f 100644
--- a/scripts/cmake/DocumentationSetup.cmake
+++ b/scripts/cmake/DocumentationSetup.cmake
@@ -1,6 +1,7 @@
 if(DOXYGEN_FOUND)
 
     option(DOCS_GENERATE_DOCSET "Generate Dash Docsets." OFF)
+    option(DOCS_GENERATE_LOGFILE "Outputs Doxygen warnings to a file in the build directory." OFF)
 
     set(DOT_FOUND "NO")
     if(DOXYGEN_DOT_FOUND)
@@ -36,6 +37,10 @@ if(DOXYGEN_FOUND)
         configure_file(Documentation/DocsetFeed.xml.in ${PROJECT_BINARY_DIR}/docs/ogs6.xml)
     endif()
 
+    if(DOCS_GENERATE_LOGFILE)
+        set(OGS_DOXYGEN_LOGFILE "${PROJECT_BINARY_DIR}/DoxygenWarnings.log" CACHE INTERNAL "")
+    endif()
+
     configure_file(Documentation/Doxyfile.in ${PROJECT_BINARY_DIR}/Doxyfile)
 
     if (BASH_TOOL_PATH AND PYTHON_EXECUTABLE)
diff --git a/scripts/jenkins/docs.groovy b/scripts/jenkins/docs.groovy
index 21da21820dd61e2f07b16adf7d44fe8830b8e514..6ccfbec35b2cd23c13421ae4c14f36c1328a6972 100644
--- a/scripts/jenkins/docs.groovy
+++ b/scripts/jenkins/docs.groovy
@@ -1,13 +1,14 @@
 def defaultCMakeOptions =
     '-DOGS_LIB_BOOST=System ' +
-    '-DOGS_LIB_VTK=System'
+    '-DOGS_LIB_VTK=System ' +
+    '-DDOCS_GENERATE_LOGFILE=ON'
 
 def configure = new ogs.configure()
 def build = new ogs.build()
 def post = new ogs.post()
 def helper = new ogs.helper()
 
-docker.image('ogs6/gcc-base:16.04').inside() {
+docker.image('ogs6/gcc-base:latest').inside() {
     stage('Configure (Docs)') {
         configure.linux 'build', "${defaultCMakeOptions}"
     }
@@ -20,11 +21,12 @@ docker.image('ogs6/gcc-base:16.04').inside() {
 stage('Reports (Docs)') {
     publishHTML(target: [allowMissing: false, alwaysLinkToLastBuild: false, keepAll: false,
         reportDir: 'build/docs', reportFiles: 'index.html', reportName: 'Doxygen'])
-    step([$class: 'WarningsPublisher', canResolveRelativePaths: false,
-        canRunOnFailed: true, consoleParsers: [[parserName: 'Doxygen']],
-        defaultEncoding: '', excludePattern: '', healthy: '',
-        includePattern: '', messagesPattern: '', unHealthy: '',
-        unstableNewAll: '0', useStableBuildAsReference: true])
+    step([$class: 'WarningsPublisher', canComputeNew: false,
+        canResolveRelativePaths: false, defaultEncoding: '', excludePattern: '',
+        healthy: '', includePattern: '', messagesPattern: '',
+        parserConfigurations: [[parserName: 'Doxygen', pattern:
+            'build/DoxygenWarnings.log']],
+        unHealthy: ''])
 }
 
 if (helper.isOriginMaster(this)) {