This commit is contained in:
@@ -23,16 +23,30 @@ def setup_custom_levels():
|
||||
("LONG", lambda msg: log.long(msg), "This is a LONG message"),
|
||||
("ENLARGE", lambda msg: log.enlarge(msg), "Please ENLARGE this!"),
|
||||
])
|
||||
import logging
|
||||
from logzero import logger as log
|
||||
import logzero
|
||||
import sys
|
||||
|
||||
def test_custom_log_outputs(levelname, logfunc, message, capsys):
|
||||
logzero.setup_logger(stream=sys.stderr)
|
||||
logcfg(levelname)
|
||||
print("logger level:", log.level)
|
||||
# Remove all handlers to avoid duplicate logs
|
||||
for h in log.handlers[:]:
|
||||
log.removeHandler(h)
|
||||
|
||||
# Create a new handler that logs to stderr
|
||||
handler = logging.StreamHandler(sys.stderr)
|
||||
formatter = logzero.LogFormatter()
|
||||
handler.setFormatter(formatter)
|
||||
log.addHandler(handler)
|
||||
|
||||
logcfg(levelname)
|
||||
|
||||
# Call and capture
|
||||
logfunc(message)
|
||||
captured = capsys.readouterr().err
|
||||
|
||||
print("Captured stderr:", repr(captured))
|
||||
|
||||
|
||||
assert message in captured, f"Expected message '{message}' not found in log"
|
||||
assert levelname in captured, f"Expected level '{levelname}' not present in log"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user