Capturing log messages

Capture log messages during test execution, appending them to the error reports of failed tests.

This plugin implements startTestRun(), startTest(), stopTest(), setTestOutcome(), and outcomeDetail() to set up a logging configuration that captures log messages during test execution, and appends them to error reports for tests that fail or raise exceptions.

Configuration [log-capture]

always-on
Default

False

Type

boolean

clear-handlers
Default

False

Type

boolean

date-format
Default

None

Type

str

filter
Default

[‘-nose’]

Type

list

format
Default

%(name)s: %(levelname)s: %(message)s

Type

str

log-level
Default

NOTSET

Type

str

Sample configuration

The default configuration is equivalent to including the following in a unittest.cfg file.

[log-capture]
always-on = False
clear-handlers = False
filter = -nose
format = %(name)s: %(levelname)s: %(message)s
log-level = NOTSET

Command-line options

--log-capture DEFAULT

Enable log capture

Plugin class reference: LogCapture

class nose2.plugins.logcapture.LogCapture(*args, **kwargs)[source]

Capture log messages during test execution

outcomeDetail(event)[source]

Append captured log messages to event.extraDetail

setTestOutcome(event)[source]

Store captured log messages in event.metadata

startTest(event)[source]

Set up handler for new test

startTestRun(event)[source]

Set up logging handler

stopTest(event)[source]

Clear captured messages, ready for next test