"Logger object"
__shared_state = {}
- def __init__(self, *args, **kwargs):
+ def __init__(self, program='unknown', debug=False, print_starting=True, include_pid=False):
self.__dict__ = self.__shared_state
- if not getattr(self, 'initialised', False):
- self.initialised = True
- self.__setup(*args, **kwargs)
-
-
- def __setup(self, program='unknown', debug=False, print_starting=True, include_pid=False):
- "Initialize a new Logger object"
self.program = program
self.debug = debug
self.include_pid = include_pid
+ if not getattr(self, 'logfile', None):
+ self._open_log(debug)
+
+ if print_starting:
+ self.log(["program start"])
+
+ def _open_log(self, debug):
# Create the log directory if it doesn't exist
from daklib.config import Config
logdir = Config()["Dir::Log"]
if not os.path.exists(logdir):
umask = os.umask(00000)
- os.makedirs(logdir, 02775)
+ os.makedirs(logdir, 0o2775)
os.umask(umask)
# Open the logfile
if debug:
logfile = sys.stderr
else:
- umask = os.umask(00002)
+ umask = os.umask(0o0002)
logfile = utils.open_file(logfilename, 'a')
os.umask(umask)
self.logfile = logfile
- if print_starting:
- self.log(["program start"])
-
def log (self, details):
"Log an event"
# Prepend timestamp, program name, and user name