--- __init__.py.orig 2016-03-03 10:44:13.000000000 +0100 +++ /usr/lib/python3.5/logging/__init__.py 2016-05-12 12:32:15.173486623 +0200 @@ -1536,7 +1536,7 @@ class Logger(Filterer): __name__ rather than a literal string. """ if self.root is not self: - suffix = '.'.join((self.name, suffix)) + suffix = root.child_sep.join((self.name, suffix)) return self.manager.getLogger(suffix) class RootLogger(Logger): @@ -1550,6 +1550,7 @@ class RootLogger(Logger): Initialize the logger with the name "root". """ Logger.__init__(self, "root", level) + self.child_sep = '.' _loggerClass = Logger @@ -1760,6 +1761,7 @@ def basicConfig(**kwargs): level = kwargs.pop("level", None) if level is not None: root.setLevel(level) + root.child_sep = kwargs.pop("child_sep", '.') if kwargs: keys = ', '.join(kwargs.keys()) raise ValueError('Unrecognised argument(s): %s' % keys)