87 lines
2.6 KiB
Plaintext
87 lines
2.6 KiB
Plaintext
|
|
capture output of logging module.
|
|
=================================
|
|
|
|
|
|
.. contents::
|
|
:local:
|
|
|
|
Installation
|
|
------------
|
|
|
|
You can install the `pytest-capturelog pypi`_ package
|
|
with pip::
|
|
|
|
pip install pytest-capturelog
|
|
|
|
or with easy install::
|
|
|
|
easy_install pytest-capturelog
|
|
|
|
.. _`pytest-capturelog pypi`: http://pypi.python.org/pypi/pytest-capturelog/
|
|
|
|
Usage
|
|
-----
|
|
|
|
If the plugin is installed log messages are captured by default and for
|
|
each failed test will be shown in the same manner as captured stdout and
|
|
stderr.
|
|
|
|
Running without options::
|
|
|
|
py.test test_capturelog.py
|
|
|
|
Shows failed tests like so::
|
|
|
|
-------------------------- Captured log ---------------------------
|
|
test_capturelog.py 26 INFO text going to logger
|
|
------------------------- Captured stdout -------------------------
|
|
text going to stdout
|
|
------------------------- Captured stderr -------------------------
|
|
text going to stderr
|
|
==================== 2 failed in 0.02 seconds =====================
|
|
|
|
By default each captured log message shows the module, line number,
|
|
log level and message. Showing the exact module and line number is
|
|
useful for testing and debugging. If desired the log format and date
|
|
format can be specified to anything that the logging module supports.
|
|
|
|
Running pytest specifying formatting options::
|
|
|
|
py.test --log-format="%(asctime)s %(levelname)s %(message)s" --log-date-format="%Y-%m-%d %H:%M:%S" test_capturelog.py
|
|
|
|
Shows failed tests like so::
|
|
|
|
-------------------------- Captured log ---------------------------
|
|
2010-04-10 14:48:44 INFO text going to logger
|
|
------------------------- Captured stdout -------------------------
|
|
text going to stdout
|
|
------------------------- Captured stderr -------------------------
|
|
text going to stderr
|
|
==================== 2 failed in 0.02 seconds =====================
|
|
|
|
Further it is possible to disable capturing of logs completely with::
|
|
|
|
py.test --nocapturelog test_capturelog.py
|
|
|
|
Shows failed tests in the normal manner as no logs were captured::
|
|
|
|
------------------------- Captured stdout -------------------------
|
|
text going to stdout
|
|
------------------------- Captured stderr -------------------------
|
|
text going to stderr
|
|
==================== 2 failed in 0.02 seconds =====================
|
|
|
|
command line options
|
|
--------------------
|
|
|
|
|
|
``--nocapturelog``
|
|
disable log capture
|
|
``--log-format=LOG_FORMAT``
|
|
log format as used by the logging module
|
|
``--log-date-format=LOG_DATE_FORMAT``
|
|
log date format as used by the logging module
|
|
|
|
.. include:: links.txt
|