summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nova/log.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/nova/log.py b/nova/log.py
index 222b8c5fb..eb0b6020f 100644
--- a/nova/log.py
+++ b/nova/log.py
@@ -32,6 +32,7 @@ import json
import logging
import logging.handlers
import os
+import stat
import sys
import traceback
@@ -257,7 +258,10 @@ class NovaRootLogger(NovaLogger):
self.filelog = WatchedFileHandler(logpath)
self.addHandler(self.filelog)
self.logpath = logpath
- os.chmod(self.logpath, FLAGS.logfile_mode)
+
+ st = os.stat(self.logpath)
+ if st.st_mode != (stat.S_IFREG | FLAGS.logfile_mode):
+ os.chmod(self.logpath, FLAGS.logfile_mode)
else:
self.removeHandler(self.filelog)
self.addHandler(self.streamlog)