Log message matching#
logot makes it easy to match log messages using %-style placeholders:
from logot import Logot, logged
def test_something(logot: Logot) -> None:
do_something()
logot.assert_logged(logged.info("Something %s done"))
In this case, the %s placeholder will match any string!
Available placeholders#
The following placeholders are available, each corresponding to a formatting option from the stdlib logging
module:
Placeholder |
Matches |
|---|---|
|
Signed integer decimal. |
|
Signed integer decimal. |
|
Signed octal value. |
|
Signed integer decimal. |
|
Signed hexadecimal (lowercase). |
|
Signed hexadecimal (uppercase). |
|
Floating point exponential format (lowercase). |
|
Floating point exponential format (uppercase). |
|
Floating point decimal format (lowercase). |
|
Floating point decimal format (uppercase). |
|
Floating point format. Uses lowercase exponential format if exponent is less than -4 or not less than precision, decimal format otherwise. |
|
Floating point format. Uses uppercase exponential format if exponent is less than -4 or not less than precision, decimal format otherwise. |
|
Single character. |
|
Any string (non-greedy). |
|
Any string (non-greedy). |
|
Any string (non-greedy). |
|
Escape sequence, results in a |