diff --git a/picard/log.py b/picard/log.py index 764368d8c..c0acf0df0 100644 --- a/picard/log.py +++ b/picard/log.py @@ -31,7 +31,7 @@ LOG_DEBUG = 8 _entries = deque(maxlen=50000) _receivers = [] -_log_debug_messages = False +log_levels = LOG_INFO|LOG_WARNING|LOG_ERROR def register_receiver(receiver): @@ -43,6 +43,8 @@ def unregister_receiver(receiver): def _message(level, message, args, kwargs): + if not log_levels & level: + return if not (isinstance(message, str) or isinstance(message, unicode)): message = repr(message) if args: @@ -61,8 +63,7 @@ def _message(level, message, args, kwargs): def debug(message, *args, **kwargs): - if _log_debug_messages: - thread.proxy_to_main(_message, LOG_DEBUG, message, args, kwargs) + thread.proxy_to_main(_message, LOG_DEBUG, message, args, kwargs) def info(message, *args, **kwargs): diff --git a/picard/tagger.py b/picard/tagger.py index ff30c0407..d562d36d9 100644 --- a/picard/tagger.py +++ b/picard/tagger.py @@ -111,7 +111,8 @@ class Tagger(QtGui.QApplication): self.stopping = False # Setup logging - log._log_debug_messages = debug or "PICARD_DEBUG" in os.environ + if debug or "PICARD_DEBUG" in os.environ: + log.log_levels = log.log_levels|log.LOG_DEBUG log.debug("Starting Picard %s from %r", picard.__version__, os.path.abspath(__file__)) # TODO remove this before the final release