| 88 | |
| 89 | |
| 90 | def test_caught_exception_queue_put(writer, capsys): |
| 91 | logger.add(writer, enqueue=True, catch=True, format="{message}") |
| 92 | |
| 93 | logger.info("It's fine") |
| 94 | logger.bind(broken=NotPicklable()).info("Bye bye...") |
| 95 | logger.info("It's fine again") |
| 96 | logger.remove() |
| 97 | |
| 98 | out, err = capsys.readouterr() |
| 99 | lines = err.strip().splitlines() |
| 100 | assert writer.read() == "It's fine\nIt's fine again\n" |
| 101 | assert out == "" |
| 102 | assert lines[0] == "--- Logging error in Loguru Handler #0 ---" |
| 103 | assert re.match(r"Record was: \{.*Bye bye.*\}", lines[1]) |
| 104 | assert "PicklingError: You shall not serialize me!" in err |
| 105 | assert lines[-1] == "--- End of logging error ---" |
| 106 | |
| 107 | |
| 108 | def test_caught_exception_queue_get(writer, capsys): |