python-efl/doc/efl.rst

54 lines
1.5 KiB
ReStructuredText

.. module:: efl
:py:mod:`efl` Package
=====================
.. versionadded:: 1.8
Logging
-------
PyEFL provides `logging <http://docs.python.org/2/library/logging.html>`_
to loggers which are usually named after their equivalent module,
f.e. *efl.eo*. There is a root logger called *efl* which also receives
any messages coming from the underlying C libraries.
These loggers have a NullHandler by default and are set to log messages
with level logging.WARNING and higher. The child loggers propagate
messages to *efl*, which doesn't propagate to the root Python logger,
so you need to add handlers to it to get output from it::
import logging
elog = logging.getLogger("efl")
elog.addHandler(logging.StreamHandler())
You should also set its level::
elog.setLevel(logging.INFO)
And you may control the child loggers individually::
elm_log = logging.getLogger("efl.elementary")
elm_log.propagate = False
elm_log.addHandler(logging.StreamHandler())
elm_log.setLevel(logging.ERROR)
.. versionadded:: 1.8
Loggers
Class properties
----------------
All class properties have their respective _get/_set methods defined.
These are useful when there are properties with the same name in the
inheritance tree, or when you're using a lambda.
The properties can be applied to the instance by using keyword arguments that
are not already used by the constructor, for example like this::
Button(win, text="I win")
.. versionadded:: 1.8
Using keyword arguments to set properties