Configuring Libraries¶
When developing libraries, you’ll probably need to use the
NullHandler
class.
N.B. This is part of the standard library since Python 2.7 / 3.1, so the version here is for use with earlier Python versions.
Typical usage:
import logging
try:
from logging import NullHandler
except ImportError:
from logutils import NullHandler
# use this in all your library's subpackages/submodules
logger = logging.getLogger(__name__)
# use this just in your library's top-level package
logger.addHandler(NullHandler())
-
class
logutils.
NullHandler
(level=0)¶ This handler does nothing. It’s intended to be used to avoid the “No handlers could be found for logger XXX” one-off warning. This is important for library code, which may contain code to log events. If a user of the library does not configure logging, the one-off warning might be produced; to avoid this, the library developer simply needs to instantiate a NullHandler and add it to the top-level logger of the library module or package.
-
createLock
()¶ Since this handler does nothing, it has no underlying I/O to protect against multi-threaded access, so this method returns None.
-
emit
(record)¶ Emit a record. This does nothing and shouldn’t be called during normal processing, unless you redefine
handle()
.
-
handle
(record)¶ Handle a record. Does nothing in this class, but in other handlers it typically filters and then emits the record in a thread-safe way.
-