11import logging
22
3+ from .conftest import make_logging_logger
4+
35from loguru import logger
46
57
@@ -20,139 +22,132 @@ def emit(self, record):
2022 logger .opt (depth = depth , exception = record .exc_info ).log (level , record .getMessage ())
2123
2224
23- def test_formatting (writer , make_logging_logger ):
25+ def test_formatting (writer ):
2426 fmt = "{name} - {file.name} - {function} - {level.name} - {level.no} - {line} - {module} - {message}"
2527 expected = "tests.test_interception - test_interception.py - test_formatting - DEBUG - 10 - 31 - test_interception - This is the message\n "
2628
27- logging_logger = make_logging_logger ("tests" , InterceptHandler ())
28-
29- logger .add (writer , format = fmt )
30-
31- logging_logger .debug ("This is the %s" , "message" )
29+ with make_logging_logger ("tests" , InterceptHandler ()) as logging_logger :
30+ logger .add (writer , format = fmt )
31+ logging_logger .debug ("This is the %s" , "message" )
3232
3333 result = writer .read ()
3434 assert result == expected
3535
3636
37- def test_intercept (writer , make_logging_logger ):
38- logging_logger = make_logging_logger (None , InterceptHandler ())
39-
40- logging_logger .info ("Nope" )
41-
42- logger .add (writer , format = "{message}" )
43-
44- logging_logger .info ("Test" )
37+ def test_intercept (writer ):
38+ with make_logging_logger (None , InterceptHandler ()) as logging_logger :
39+ logging_logger .info ("Nope" )
40+ logger .add (writer , format = "{message}" )
41+ logging_logger .info ("Test" )
4542
4643 result = writer .read ()
4744 assert result == "Test\n "
4845
4946
50- def test_add_before_intercept (writer , make_logging_logger ):
47+ def test_add_before_intercept (writer ):
5148 logger .add (writer , format = "{message}" )
52- logging_logger = make_logging_logger (None , InterceptHandler ())
5349
54- logging_logger .info ("Test" )
50+ with make_logging_logger (None , InterceptHandler ()) as logging_logger :
51+ logging_logger .info ("Test" )
5552
5653 result = writer .read ()
5754 assert result == "Test\n "
5855
5956
60- def test_remove_interception (writer , make_logging_logger ):
57+ def test_remove_interception (writer ):
6158 h = InterceptHandler ()
62- logging_logger = make_logging_logger ("foobar" , h )
63- logger .add (writer , format = "{message}" )
64- logging_logger .debug ("1" )
65- logging_logger .removeHandler (h )
66- logging_logger .debug ("2" )
59+
60+ with make_logging_logger ("foobar" , h ) as logging_logger :
61+ logger .add (writer , format = "{message}" )
62+ logging_logger .debug ("1" )
63+ logging_logger .removeHandler (h )
64+ logging_logger .debug ("2" )
6765
6866 result = writer .read ()
6967 assert result == "1\n "
7068
7169
72- def test_intercept_too_low (writer , make_logging_logger ):
73- make_logging_logger ("tests.test_interception" , InterceptHandler ())
74- logger .add (writer , format = "{message}" )
75- logging .getLogger ("tests" ).error ("Nope 1" )
76- logging .getLogger ("foobar" ).error ("Nope 2" )
70+ def test_intercept_too_low (writer ):
71+ with make_logging_logger ("tests.test_interception" , InterceptHandler ()):
72+ logger .add (writer , format = "{message}" )
73+ logging .getLogger ("tests" ).error ("Nope 1" )
74+ logging .getLogger ("foobar" ).error ("Nope 2" )
75+
7776 result = writer .read ()
7877 assert result == ""
7978
8079
81- def test_multiple_intercept (writer , make_logging_logger ):
82- logging_logger_1 = make_logging_logger ("test_1" , InterceptHandler ())
83- logging_logger_2 = make_logging_logger ("test_2" , InterceptHandler ())
84-
85- logger .add (writer , format = "{message}" )
86-
87- logging_logger_1 .info ("1" )
88- logging_logger_2 .info ("2" )
80+ def test_multiple_intercept (writer ):
81+ with make_logging_logger ("test_1" , InterceptHandler ()) as logging_logger_1 :
82+ with make_logging_logger ("test_2" , InterceptHandler ()) as logging_logger_2 :
83+ logger .add (writer , format = "{message}" )
84+ logging_logger_1 .info ("1" )
85+ logging_logger_2 .info ("2" )
8986
9087 result = writer .read ()
9188 assert result == "1\n 2\n "
9289
9390
94- def test_exception (writer , make_logging_logger ):
95- logging_logger = make_logging_logger ("tests.test_interception" , InterceptHandler ())
96- logger .add (writer , format = "{message}" )
91+ def test_exception (writer ):
92+ with make_logging_logger ("tests.test_interception" , InterceptHandler ()) as logging_logger :
93+ logger .add (writer , format = "{message}" )
9794
98- try :
99- 1 / 0
100- except :
101- logging_logger .exception ("Oops..." )
95+ try :
96+ 1 / 0
97+ except :
98+ logging_logger .exception ("Oops..." )
10299
103100 lines = writer .read ().strip ().splitlines ()
104101 assert lines [0 ] == "Oops..."
105102 assert lines [- 1 ] == "ZeroDivisionError: division by zero"
106103 assert sum (line .startswith ("> " ) for line in lines ) == 1
107104
108105
109- def test_level_is_no (writer , make_logging_logger ):
110- logging_logger = make_logging_logger ("tests" , InterceptHandler ())
111- logger .add (writer , format = "<lvl>{level.no} - {level.name} - {message}</lvl>" , colorize = True )
112-
113- logging_logger .log (12 , "Hop" )
106+ def test_level_is_no (writer ):
107+ with make_logging_logger ("tests" , InterceptHandler ()) as logging_logger :
108+ logger .add (writer , format = "<lvl>{level.no} - {level.name} - {message}</lvl>" , colorize = True )
109+ logging_logger .log (12 , "Hop" )
114110
115111 result = writer .read ()
116112 assert result == "12 - Level 12 - Hop\x1b [0m\n "
117113
118114
119- def test_level_does_not_exist (writer , make_logging_logger ):
115+ def test_level_does_not_exist (writer ):
120116 logging .addLevelName (152 , "FANCY_LEVEL" )
121- logging_logger = make_logging_logger ("tests" , InterceptHandler ())
122- logger .add (writer , format = "<lvl>{level.no} - {level.name} - {message}</lvl>" , colorize = True )
123117
124- logging_logger .log (152 , "Nop" )
118+ with make_logging_logger ("tests" , InterceptHandler ()) as logging_logger :
119+ logger .add (writer , format = "<lvl>{level.no} - {level.name} - {message}</lvl>" , colorize = True )
120+ logging_logger .log (152 , "Nop" )
125121
126122 result = writer .read ()
127123 assert result == "152 - Level 152 - Nop\x1b [0m\n "
128124
129125
130- def test_level_exist_builtin (writer , make_logging_logger ):
131- logging_logger = make_logging_logger ("tests" , InterceptHandler ())
132- logger .add (writer , format = "<lvl>{level.no} - {level.name} - {message}</lvl>" , colorize = True )
133-
134- logging_logger .error ("Error..." )
126+ def test_level_exist_builtin (writer ):
127+ with make_logging_logger ("tests" , InterceptHandler ()) as logging_logger :
128+ logger .add (writer , format = "<lvl>{level.no} - {level.name} - {message}</lvl>" , colorize = True )
129+ logging_logger .error ("Error..." )
135130
136131 result = writer .read ()
137132 assert result == "\x1b [31m\x1b [1m40 - ERROR - Error...\x1b [0m\n "
138133
139134
140- def test_level_exists_custom (writer , make_logging_logger ):
135+ def test_level_exists_custom (writer ):
141136 logging .addLevelName (99 , "ANOTHER_FANCY_LEVEL" )
142137 logger .level ("ANOTHER_FANCY_LEVEL" , no = 99 , color = "<green>" , icon = "" )
143- logging_logger = make_logging_logger ("tests" , InterceptHandler ())
144138
145- logger . add ( writer , format = "<lvl>{level.no} - {level.name} - {message}</lvl> " , colorize = True )
146-
147- logging_logger .log (99 , "Yep!" )
139+ with make_logging_logger ( "tests " , InterceptHandler ()) as logging_logger :
140+ logger . add ( writer , format = "<lvl>{level.no} - {level.name} - {message}</lvl>" , colorize = True )
141+ logging_logger .log (99 , "Yep!" )
148142
149143 result = writer .read ()
150144 assert result == "\x1b [32m99 - ANOTHER_FANCY_LEVEL - Yep!\x1b [0m\n "
151145
152146
153147def test_using_logging_function (writer ):
154- logging .getLogger (None ).addHandler (InterceptHandler ())
155- logger .add (writer , format = "{function} {line} {module} {file.name} {message}" )
156- logging .warning ("ABC" )
148+ with make_logging_logger (None , InterceptHandler ()):
149+ logger .add (writer , format = "{function} {line} {module} {file.name} {message}" )
150+ logging .warning ("ABC" )
151+
157152 result = writer .read ()
158- assert result == "test_using_logging_function 156 test_interception test_interception.py ABC\n "
153+ assert result == "test_using_logging_function 150 test_interception test_interception.py ABC\n "
0 commit comments