import logging
import sys
+from os import environ
+
DEBUG = logging.DEBUG
INFO = logging.INFO
ERROR = logging.ERROR
}
DATE_FMT = "%Y-%m-%d %H:%M:%S"
+TRACE_LEVEL_NUM = 5
+logging.addLevelName(TRACE_LEVEL_NUM, 'TRACE')
+def trace(self, message, *args, **kwargs):
+ # Yes, logger takes its '*args' as 'args'.
+ if self.isEnabledFor(TRACE_LEVEL_NUM):
+ self._log(TRACE_LEVEL_NUM, message, args, **kwargs)
+
+logging.Logger.trace = trace
+
def set_logger(level='info', logfile=None):
"""
"""
name = 'sima'
- user_log_level = getattr(logging, level.upper())
+ if environ.get('TRACE', False):
+ user_log_level = TRACE_LEVEL_NUM
+ else:
+ user_log_level = getattr(logging, level.upper())
if user_log_level > DEBUG:
log_format = LOG_FORMATS.get(INFO)
else:
self.log.warning('Got nothing from music library.')
return []
queued_artists = MetaContainer([trk.Artist for trk in self.player.queue])
+ self.log.trace('Already queued: {}'.format(queued_artists))
+ self.log.trace('Candidate: {}'.format(ret))
if ret & queued_artists:
self.log.debug('Removing already queued artists: '
'{0}'.format('/'.join(map(str, ret & queued_artists))))