[loggingTools] add docstring to exemplify usage of LogMixin

This commit is contained in:
Cosimo Lupo 2017-04-12 11:20:42 +01:00
parent cca1d20b0e
commit 1e31e55682
No known key found for this signature in database
GPG Key ID: B61AAAD0B53A6419

View File

@ -473,8 +473,29 @@ class CapturingLogHandler(logging.Handler):
class LogMixin(object):
""" Mixin class that adds a 'log' property getter returning an instance
of logging.Logger class, which is named after self <module>.<class> name.
""" Mixin class that adds logging functionality to another class.
You can define a new class that subclasses from LogMixin as well as
other base classes through multiple inheritance.
All instances of that class will have a 'log' property that returns
a logging.Logger named after their respective <module>.<class>.
For example:
>>> class BaseClass(object):
... pass
>>> class MyClass(LogMixin, BaseClass):
... pass
>>> a = MyClass()
>>> isinstance(a.log, logging.Logger)
True
>>> print(a.log.name)
fontTools.misc.loggingTools.MyClass
>>> class AnotherClass(MyClass):
... pass
>>> b = AnotherClass()
>>> isinstance(b.log, logging.Logger)
True
>>> print(b.log.name)
fontTools.misc.loggingTools.AnotherClass
"""
@property