diff options
author | André Erdmann <dywi@mailerd.de> | 2012-07-10 09:13:50 +0200 |
---|---|---|
committer | André Erdmann <dywi@mailerd.de> | 2012-07-10 09:13:50 +0200 |
commit | aa475e12bacede830593094ed5553e6e433768c7 (patch) | |
tree | 9c03c6a2c3e85e7c1bc3b0c2aae3ebfd6f3c2113 /roverlay | |
parent | typo (diff) | |
download | R_overlay-aa475e12bacede830593094ed5553e6e433768c7.tar.gz R_overlay-aa475e12bacede830593094ed5553e6e433768c7.tar.bz2 R_overlay-aa475e12bacede830593094ed5553e6e433768c7.zip |
create log dirs if necessary
modified: roverlay/depres/listeners.py
modified: roverlay/recipe/easylogger.py
Diffstat (limited to 'roverlay')
-rw-r--r-- | roverlay/depres/listeners.py | 10 | ||||
-rw-r--r-- | roverlay/recipe/easylogger.py | 6 |
2 files changed, 14 insertions, 2 deletions
diff --git a/roverlay/depres/listeners.py b/roverlay/depres/listeners.py index 0815036..9d5b0fc 100644 --- a/roverlay/depres/listeners.py +++ b/roverlay/depres/listeners.py @@ -3,6 +3,7 @@ # Distributed under the terms of the GNU General Public License v2 import threading +import os from roverlay.depres import events from roverlay.depres.depenv import DepEnv @@ -32,7 +33,11 @@ class FileListener ( DependencyResolverListener ): def _event ( self, event_type, to_write ): """Writes to_write if event_type is accepted by self.listen_mask.""" if self.mask & event_type: - if not self.fh: self.fh = open ( self._file, 'a' ) # or w? + if not self.fh: + fdir = os.path.dirname ( self._file ) + if not os.path.isdir ( fdir ): + os.makedirs ( fdir ) + self.fh = open ( self._file, 'a' ) self.fh.write ( to_write + "\n" ) # when to close? with open (...) as fh:...? # --- end of _event (...) --- @@ -63,6 +68,9 @@ class SetFileListener ( DependencyResolverListener ): def write ( self, sort_entries=True ): try: + fdir = os.path.dirname ( self._file ) + if not os.path.isdir ( fdir ): + os.makedirs ( fdir ) fh = open ( self._file, 'w' ) if sort_entries: diff --git a/roverlay/recipe/easylogger.py b/roverlay/recipe/easylogger.py index 411397d..f1a497a 100644 --- a/roverlay/recipe/easylogger.py +++ b/roverlay/recipe/easylogger.py @@ -5,7 +5,7 @@ import sys import logging import logging.handlers -import os.path +import os _STATUS = 0 @@ -97,6 +97,10 @@ def setup_file ( conf ): # FIXME explain this in config (and make it available) rotating = conf.get ( 'LOG.FILE.rotate', False ) + logdir = os.path.dirname ( logfile ) + if not os.path.isdir ( logdir ): + os.makedirs ( logdir ) + if rotating: # using per-run log files |