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.