Wrap log file rotation in a try block.

PiperOrigin-RevId: 187207883
diff --git a/src/TulsiGenerator/Scripts/tulsi_logging.py b/src/TulsiGenerator/Scripts/tulsi_logging.py
index fccba63..0f92467 100755
--- a/src/TulsiGenerator/Scripts/tulsi_logging.py
+++ b/src/TulsiGenerator/Scripts/tulsi_logging.py
@@ -17,6 +17,7 @@
 import logging
 import logging.handlers
 import os
+import sys
 
 
 class Logger(object):
@@ -35,11 +36,20 @@
     self._logger = logging.getLogger('tulsi_logging')
     self._logger.setLevel(logging.INFO)
 
-    file_handler = logging.handlers.RotatingFileHandler(logfile, backupCount=20)
-    file_handler.setLevel(logging.INFO)
-    # Create a new log file for each build.
-    file_handler.doRollover()
-    self._logger.addHandler(file_handler)
+    try:
+      file_handler = logging.handlers.RotatingFileHandler(logfile,
+                                                          backupCount=20)
+      file_handler.setLevel(logging.INFO)
+      # Create a new log file for each build.
+      file_handler.doRollover()
+      self._logger.addHandler(file_handler)
+    except (IOError, OSError) as err:
+      filename = 'none'
+      if hasattr(err, 'filename'):
+        filename = err.filename
+      sys.stderr.write('Failed to set up logging to file: %s (%s).\n' %
+                       (os.strerror(err.errno), filename))
+      sys.stderr.flush()
 
     console = logging.StreamHandler()
     console.setLevel(logging.INFO)