Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
.. image:: https://img.shields.io/pypi/v/pytest-logger.svg :target: https://pypi.python.org/pypi/pytest-logger :alt: Pypi Package Version .. image:: https://img.shields.io/pypi/pyversions/pytest-logger.svg :target: https://pypi.python.org/pypi/pytest-logger :alt: Supported Python Versions .. image:: https://readthedocs.org/projects/pytest-logger/badge :target: http://pytest-logger.readthedocs.io/en/latest :alt: Documentation Status .. image:: https://coveralls.io/repos/github/aurzenligl/pytest-logger/badge.svg?branch=master :target: https://coveralls.io/github/aurzenligl/pytest-logger?branch=master :alt: Coverage Status .. image:: https://github.com/aurzenligl/pytest-logger/workflows/test/badge.svg :target: https://github.com/aurzenligl/pytest-logger/actions?query=workflow%3Atest .. image:: https://ci.appveyor.com/api/projects/status/1h4cy8tk220pn03o?svg=true :target: https://ci.appveyor.com/project/aurzenligl/pytest-logger :alt: AppVeyor-CI Build Status
Pytest-logger is a pytest plugin configuring handlers for loggers from Python logging module.
You can install pytest-logger via pip
from PyPI
::
$ [sudo] pip install pytest-logger
Plugin puts logs on per-logger basis to:
tmpdir_factory
session directory.You can setup plugin using hook::
#conftest.py
import os
def pytest_logger_config(logger_config):
logger_config.add_loggers(['foo', 'bar', 'baz'], stdout_level='info')
logger_config.set_log_option_default('foo,bar')
def pytest_logger_logdirlink(config):
return os.path.join(os.path.dirname(__file__), 'mylogs')
have logging tests or libraries (including fixtures)::
#test_something.py
import pytest
import logging
foo = logging.getLogger('foo')
bar = logging.getLogger('bar')
baz = logging.getLogger('baz')
@pytest.yield_fixture(scope='session')
def session_thing():
foo.debug('constructing session thing')
yield
foo.debug('destroying session thing')
@pytest.yield_fixture
def testcase_thing():
foo.debug('constructing testcase thing')
yield
foo.debug('destroying testcase thing')
def test_one(session_thing, testcase_thing):
foo.info('one executes')
bar.warning('this test does nothing aside from logging')
baz.info('extra log, rarely read')
def test_two(session_thing, testcase_thing):
foo.info('two executes')
bar.warning('neither does this')
baz.info('extra log, not enabled by default')
and expect output in terminal (if not captured)::
$ py.test -s -v
(...)
test_something.py::test_one
00:00.002 inf foo: one executes
00:00.002 wrn bar: this test does nothing aside from logging
PASSED
test_something.py::test_two
00:00.000 inf foo: two executes
00:00.000 wrn bar: neither does this
PASSED
being able to change this output by cmdline option::
$ pytest -s -v --log foo.debug,baz
(...)
test_something.py::test_one
00:00.002 dbg foo: constructing session thing
00:00.002 dbg foo: constructing testcase thing
00:00.002 inf foo: one executes
00:00.003 inf baz: extra log, rarely read
PASSED
test_something.py::test_two
00:00.000 dbg foo: constructing testcase thing
00:00.000 inf foo: two executes
00:00.001 inf baz: extra log, not enabled by default
PASSED
and - the same - in filesystem::
$ file mylogs
mylogs: symbolic link to `/tmp/pytest-of-aurzenligl/pytest-48/logs'
$ tree mylogs
mylogs
`-- test_something.py
|-- test_one
| |-- bar
| |-- baz
| `-- foo
`-- test_two
|-- bar
|-- baz
`-- foo
Distributed under the terms of the MIT
license, pytest-logger is free and open source software.
FAQs
Plugin configuring handlers for loggers from Python logging module.
We found that pytest-logger demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.