 mediaportal/MediaPortal.Support/MediaPortalLogs.cs | 35 ++++++++++--------
 mediaportal/MediaPortal.Support/TvServerLogger.cs  | 41 ++++++++++++++--------
 .../Support/MediaPortalLogsTests.cs                |  4 +--
 mediaportal/WatchDog/PostTestActions.cs            |  7 ++--
 4 files changed, 52 insertions(+), 35 deletions(-)

diff --git a/mediaportal/MediaPortal.Support/MediaPortalLogs.cs b/mediaportal/MediaPortal.Support/MediaPortalLogs.cs
index 294e79d..271a742 100644
--- a/mediaportal/MediaPortal.Support/MediaPortalLogs.cs
+++ b/mediaportal/MediaPortal.Support/MediaPortalLogs.cs
@@ -24,32 +24,39 @@ namespace MediaPortal.Support
 {
   public class MediaPortalLogs : ILogCreator
   {
-    private string mplogdir;
+    private string mplogdir;
+    private string mpconfigdir;
 
-    public MediaPortalLogs(string mplogdir)
+    public MediaPortalLogs(string mplogdir, string mpconfigdir)
     {
-      this.mplogdir = mplogdir;
+      this.mplogdir = mplogdir;
+      this.mpconfigdir = mpconfigdir;
     }
 
     public void CreateLogs(string destinationFolder)
     {
       destinationFolder = Path.GetFullPath(destinationFolder) + "\\";
-      string[] logFiles = Directory.GetFiles(mplogdir, "*.log");
 
-      foreach (string logFile in logFiles)
+      FileInfo[] logFiles = new DirectoryInfo(mplogdir).GetFiles("*.log");
+      foreach (FileInfo logFile in logFiles)
       {
-        string dstFile = logFile.Substring(logFile.LastIndexOf("\\") + 1);
-        bool overwrite = true;
-        File.Copy(logFile, destinationFolder + dstFile, overwrite);
+        File.Copy(logFile.FullName, destinationFolder + logFile.Name, true);
       }
 
-      string[] bakFiles = Directory.GetFiles(mplogdir, "*.bak");
-
-      foreach (string bakFile in bakFiles)
+      FileInfo[] bakFiles = new DirectoryInfo(mplogdir).GetFiles("*.bak");
+      foreach (FileInfo bakFile in bakFiles)
       {
-        string dstFile = bakFile.Substring(bakFile.LastIndexOf("\\") + 1);
-        bool overwrite = true;
-        File.Copy(bakFile, destinationFolder + dstFile, overwrite);
+        File.Copy(bakFile.FullName, destinationFolder + bakFile.Name, true);
+      }
+
+      FileInfo[] configFiles = new DirectoryInfo(mpconfigdir).GetFiles("*");
+      foreach (FileInfo configFile in configFiles)
+      {
+        string fileName = configFile.Name.ToLowerInvariant();
+        if (fileName.Equals("gentle.config") || fileName.Equals("mediaportal.xml"))
+        {
+          File.Copy(configFile.FullName, destinationFolder + configFile.Name, true);
+        }
       }
     }
 
diff --git a/mediaportal/MediaPortal.Support/TvServerLogger.cs b/mediaportal/MediaPortal.Support/TvServerLogger.cs
index eaba2bb..d3fbb95 100644
--- a/mediaportal/MediaPortal.Support/TvServerLogger.cs
+++ b/mediaportal/MediaPortal.Support/TvServerLogger.cs
@@ -29,33 +29,46 @@ namespace MediaPortal.Support
     {
       string basePath = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) +
                         "\\Team MediaPortal\\MediaPortal TV Server";
-      string logPath = basePath + "\\log";
-      if (!Directory.Exists(logPath))
+      if (!Directory.Exists(basePath))
       {
         return;
       }
-      DirectoryInfo dir = new DirectoryInfo(logPath);
-      FileInfo[] logFiles = dir.GetFiles("*.log");
-      foreach (FileInfo logFile in logFiles)
-      {
-        logFile.CopyTo(destinationFolder + "\\tvserver_" + logFile.Name, true);
-      }
 
-      FileInfo[] bakfiles = dir.GetFiles("*.bak");
-      foreach (FileInfo bakFile in bakfiles)
+      string logPath = basePath + "\\log";
+      if (Directory.Exists(logPath))
       {
-        bakFile.CopyTo(destinationFolder + "\\tvserver_" + bakFile.Name, true);
+        DirectoryInfo dir = new DirectoryInfo(logPath);
+        FileInfo[] logFiles = dir.GetFiles("*.log");
+        foreach (FileInfo logFile in logFiles)
+        {
+          logFile.CopyTo(destinationFolder + "\\tvserver_" + logFile.Name, true);
+        }
+
+        FileInfo[] bakfiles = dir.GetFiles("*.bak");
+        foreach (FileInfo bakFile in bakfiles)
+        {
+          bakFile.CopyTo(destinationFolder + "\\tvserver_" + bakFile.Name, true);
+        }
       }
 
-      string AnalogPath = basePath + "\\AnalogCard";
-      if (Directory.Exists(AnalogPath))
+      string analogPath = basePath + "\\AnalogCard";
+      if (Directory.Exists(analogPath))
       {
-        FileInfo[] xmlFiles = new DirectoryInfo(AnalogPath).GetFiles("*.xml");
+        FileInfo[] xmlFiles = new DirectoryInfo(analogPath).GetFiles("*.xml");
         foreach (FileInfo xmlFile in xmlFiles)
         {
           xmlFile.CopyTo(destinationFolder + "\\tvserver_AnalogCard_" + xmlFile.Name, true);
         }
       }
+
+      FileInfo[] configFiles = new DirectoryInfo(basePath).GetFiles("*.config");
+      foreach (FileInfo configFile in configFiles)
+      {
+        if (configFile.Name.ToLowerInvariant().Equals("gentle.config"))
+        {
+          configFile.CopyTo(destinationFolder + "\\tvserver_" + configFile.Name, true);
+        }
+      }
     }
 
     public string ActionMessage
diff --git a/mediaportal/MediaPortal.Tests/Support/MediaPortalLogsTests.cs b/mediaportal/MediaPortal.Tests/Support/MediaPortalLogsTests.cs
index 93e781e..b9ae5fc 100644
--- a/mediaportal/MediaPortal.Tests/Support/MediaPortalLogsTests.cs
+++ b/mediaportal/MediaPortal.Tests/Support/MediaPortalLogsTests.cs
@@ -43,7 +43,7 @@ namespace MediaPortal.Tests.Support
     [Test]
     public void CreateLogsWithNoErrors()
     {
-      MediaPortalLogs mplogs = new MediaPortalLogs("Support\\TestData");
+      MediaPortalLogs mplogs = new MediaPortalLogs("Support\\TestData", "Support");
       mplogs.CreateLogs(outputDir);
       Assert.IsTrue(File.Exists(outputDir + "\\MediaPortal.log"), "Log file not copied!");
     }
@@ -51,7 +51,7 @@ namespace MediaPortal.Tests.Support
     [Test]
     public void CopyOverExistingFiles()
     {
-      MediaPortalLogs mplogs = new MediaPortalLogs("Support\\TestData");
+      MediaPortalLogs mplogs = new MediaPortalLogs("Support\\TestData", "Support");
       FileHelper.Touch(logFile);
       mplogs.CreateLogs(outputDir);
     }
diff --git a/mediaportal/WatchDog/PostTestActions.cs b/mediaportal/WatchDog/PostTestActions.cs
index 6d44f51..c4dc82c 100644
--- a/mediaportal/WatchDog/PostTestActions.cs
+++ b/mediaportal/WatchDog/PostTestActions.cs
@@ -96,7 +96,7 @@ namespace WatchDog
           sw.WriteLine("<li><a href=tvserver_error.log>Error.log</a></li>");
           sw.WriteLine("<li><a href=tvserver_Streaming Server.log>Streaming Server.log</a></li>");
           sw.WriteLine("<li><a href=tvserver_TsWriter.log>TsWriter.log</a></li>");
-          sw.WriteLine("<li><a href=tvserver_Player.log>Player.log</a></li>");
+          sw.WriteLine("<li><a href=tvserver_Gentle.config>Gentle.config</a></li>");
           sw.WriteLine("</ul></td>");
         }
         else
@@ -133,9 +133,6 @@ namespace WatchDog
       base.setAction("Creating ZIP Archive with gathered information...");
       try
       {
-        // Get config file also to help debugging
-        File.Copy(Config.GetFolder(Config.Dir.Config) + @"\\MediaPortal.xml", _tmpDir + @"\\MediaPortal.xml", true);
-
         if (File.Exists(_zipFile))
         {
           File.Delete(_zipFile);
@@ -158,7 +155,7 @@ namespace WatchDog
     private List<ILogCreator> CreateLoggers()
     {
       List<ILogCreator> logs = new List<ILogCreator>();
-      logs.Add(new MediaPortalLogs(Config.GetFolder(Config.Dir.Log)));
+      logs.Add(new MediaPortalLogs(Config.GetFolder(Config.Dir.Log), Config.GetFolder(Config.Dir.Config)));
       logs.Add(new TvServerLogger());
       logs.Add(new DxDiagLog(new ProcessRunner()));
       logs.Add(new HotFixInformationLogger());
