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 |