From 2303773af36a8798946913a6c3f4c4dd71d13d11 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Thu, 7 Jul 2011 14:04:11 -0400 Subject: [PATCH] fix possible IOError (pemission denied) 2 users are writing to the same log file --- sfa/util/sfalogging.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sfa/util/sfalogging.py b/sfa/util/sfalogging.py index 3991d338..199066d0 100755 --- a/sfa/util/sfalogging.py +++ b/sfa/util/sfalogging.py @@ -28,6 +28,14 @@ class _SfaLogger: # This is usually a permissions error becaue the file is # owned by root, but httpd is trying to access it. tmplogfile=os.getenv("TMPDIR", "/tmp") + os.path.sep + os.path.basename(logfile) + # In strange uses, 2 users on same machine might use same code, + # meaning they would clobber each others files + # We could (a) rename the tmplogfile, or (b) + # just log to the console in that case. + # Here we default to the console. + if os.path.exists(tmplogfile) and not os.access(tmplogfile,os.W_OK): + loggername = loggername + "-console" + handler = logging.StreamHandler() handler=logging.handlers.RotatingFileHandler(tmplogfile,maxBytes=1000000, backupCount=5) handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")) self.logger=logging.getLogger(loggername) -- 2.45.2