Skip to content

Commit

Permalink
Fix the --debug option, prevent logger duplication
Browse files Browse the repository at this point in the history
  • Loading branch information
psss committed Sep 11, 2015
1 parent 6c782e5 commit c7d956b
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 10 deletions.
8 changes: 4 additions & 4 deletions did/cli.py
Expand Up @@ -35,6 +35,10 @@ def __init__(self, arguments=None):
usage="did [last] [week|month|quarter|year] [opts]")
self.arguments = arguments

# Enable debugging output (even before options are parsed)
if "--debug" in sys.argv:
utils.Logging("did").set(utils.LOG_DEBUG)

# Time & user selection
group = optparse.OptionGroup(self.parser, "Selection")
group.add_option(
Expand Down Expand Up @@ -88,10 +92,6 @@ def parse(self, arguments=None):
self.arguments = self.arguments.split()
(opt, arg) = self.parser.parse_args(self.arguments)

# Enable debugging output
if opt.debug:
utils.Logging.set(utils.LOG_DEBUG)

# Enable --all if no particular stat or group selected
opt.all = not any([
getattr(opt, stat.dest) or getattr(opt, group.dest)
Expand Down
1 change: 0 additions & 1 deletion did/stats.py
Expand Up @@ -62,7 +62,6 @@ def enabled(self):
else:
# Default to Enabled if not otherwise disabled
self._enabled = getattr(self.options, self.dest, True)
log.debug("{0} Enabled? {1}".format(self.option, self._enabled))
return self._enabled

def fetch(self):
Expand Down
18 changes: 13 additions & 5 deletions did/utils.py
Expand Up @@ -200,9 +200,18 @@ class Logging(object):
# Default log level is WARN
_level = LOG_WARN

# Already initialized loggers by their name
_loggers = dict()

def __init__(self, name='did'):
self.logger = self._create_logger(name=name)
self.set()
# Use existing logger if already initialized
try:
self.logger = Logging._loggers[name]
# Otherwise create a new one, save it and set it
except KeyError:
self.logger = self._create_logger(name=name)
Logging._loggers[name] = self.logger
self.set()

class ColoredFormatter(logging.Formatter):
""" Custom color formatter for logging """
Expand Down Expand Up @@ -379,6 +388,5 @@ def enabled(self):
# Default Logger
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# Create the output logger
_logging = Logging('did')
log = _logging.logger
# Create the default output logger
log = Logging('did').logger

0 comments on commit c7d956b

Please sign in to comment.