Fix bug in logging to host logs.

Signed-off-by: Steve Howard <showard@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1432 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/scheduler/monitor_db b/scheduler/monitor_db
index 3e6b371..8009230 100755
--- a/scheduler/monitor_db
+++ b/scheduler/monitor_db
@@ -6,7 +6,7 @@
 __author__ = "Paul Turner <pjt@google.com>"
 
 import os, sys, tempfile, shutil, MySQLdb, time, traceback, subprocess, Queue
-import optparse, signal, smtplib, socket, datetime, stat, pwd
+import optparse, signal, smtplib, socket, datetime, stat, pwd, errno
 from common import global_config
 
 RESULTS_DIR = '.'
@@ -536,16 +536,24 @@
 		if self.log_file:
 			try:
 				os.makedirs(os.path.dirname(self.log_file))
+			except OSError, exc:
+				if exc.errno != errno.EEXIST:
+					log_stacktrace(
+					    'Unexpected error creating logfile '
+					    'directory for %s' % self.log_file)
+			try:
 				out_file = open(self.log_file, 'a')
 				out_file.write("\n%s\n" % ('*'*80))
-				out_file.write("%s> %s\n" % (time.strftime("%X %x"), cmd))
+				out_file.write("%s> %s\n" %
+					       (time.strftime("%X %x"), cmd))
 				out_file.write("%s\n" % ('*'*80))
-			except:
-				pass
-				
+			except (OSError, IOError):
+				log_stacktrace('Error opening log file %s' %
+					       self.log_file)
+
 		if not out_file:
 			out_file = open('/dev/null', 'w')
-			
+
 		in_devnull = open('/dev/null', 'r')
 		print "cmd = %s" % cmd
 		print "path = %s" % os.getcwd()