]> git.ipfire.org Git - thirdparty/babel.git/commitdiff
Prevent multiple handlers being attached to the same logger.
authorJeroen Ruigrok van der Werven <asmodai@in-nomine.org>
Tue, 22 Feb 2011 14:30:22 +0000 (14:30 +0000)
committerJeroen Ruigrok van der Werven <asmodai@in-nomine.org>
Tue, 22 Feb 2011 14:30:22 +0000 (14:30 +0000)
Issue: #227
Submitted by: dfraser

ChangeLog
babel/messages/frontend.py

index 8638f1c59d935582b28a89a23db44a3fd7b51923..7533ad3b125ff3f17425873fc77f8500a48b153e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -26,6 +26,7 @@ http://svn.edgewall.org/repos/babel/tags/1.0.0/
  * Removed ValueError raising for string formatting message checkers if the
    string does not contain any string formattings (ticket #150).
  * Fix Serbian plural forms (ticket #213).
+ * Prevent multiple handlers being added to the same logger (ticket #227).
 
 
 Version 0.9.6
index b1ebfb4a7c6202609af6369a53452cf9d227abeb..0aa535d9032390c0aeecd07ca57788eb0f930df8 100755 (executable)
@@ -629,11 +629,14 @@ class CommandLineInterface(object):
         # Configure logging
         self.log = logging.getLogger('babel')
         self.log.setLevel(options.loglevel)
-        handler = logging.StreamHandler()
-        handler.setLevel(options.loglevel)
+        if self.log.handlers:
+            handler = self.log.handlers[0]
+        else:
+            handler = logging.StreamHandler()
+            self.log.addHandler(handler)
         formatter = logging.Formatter('%(message)s')
         handler.setFormatter(formatter)
-        self.log.addHandler(handler)
+        handler.setLevel(options.loglevel)
 
         if options.list_locales:
             identifiers = localedata.list()