Skip to content

Commit de79c6c

Browse files
committed
Display handlers in logger repr as list rather than dict
1 parent 714ae35 commit de79c6c

File tree

3 files changed

+22
-22
lines changed

3 files changed

+22
-22
lines changed

loguru/_handler.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def __init__(
6969
self._thread.start()
7070

7171
def __repr__(self):
72-
return "(level=%d, writer=%s)" % (self._levelno, self._name)
72+
return "(id=%d, level=%d, writer=%s)" % (self._id, self._levelno, self._name)
7373

7474
def emit(self, record, level_id, is_ansi, is_raw):
7575
try:

loguru/_logger.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -854,7 +854,7 @@ def filter_func(record):
854854
return handler_id
855855

856856
def __repr__(self):
857-
return "<loguru.logger handlers=%r>" % Logger._handlers
857+
return "<loguru.logger handlers=%r>" % list(Logger._handlers.values())
858858

859859
def remove(self, handler_id=None):
860860
"""Remove a previously added handler and stop sending logs to its sink.

tests/test_repr.py

+20-20
Original file line numberDiff line numberDiff line change
@@ -5,36 +5,36 @@
55
import re
66

77
def test_no_handler():
8-
assert repr(logger) == "<loguru.logger handlers={}>"
8+
assert repr(logger) == "<loguru.logger handlers=[]>"
99

1010

1111
def test_stderr():
1212
logger.add(sys.__stderr__)
13-
assert repr(logger) == "<loguru.logger handlers={0: (level=10, writer=<stderr>)}>"
13+
assert repr(logger) == "<loguru.logger handlers=[(id=0, level=10, writer=<stderr>)]>"
1414

1515

1616
def test_stdout():
1717
logger.add(sys.__stdout__)
18-
assert repr(logger) == "<loguru.logger handlers={0: (level=10, writer=<stdout>)}>"
18+
assert repr(logger) == "<loguru.logger handlers=[(id=0, level=10, writer=<stdout>)]>"
1919

2020

2121
def test_file_object(tmpdir):
2222
path = str(tmpdir.join("test.log"))
2323
file = open(path, "w")
2424
logger.add(file)
25-
assert repr(logger) == "<loguru.logger handlers={0: (level=10, writer=%s)}>" % path
25+
assert repr(logger) == "<loguru.logger handlers=[(id=0, level=10, writer=%s)]>" % path
2626

2727

2828
def test_file_str(tmpdir):
2929
path = str(tmpdir.join("test.log"))
3030
logger.add(path)
31-
assert repr(logger) == "<loguru.logger handlers={0: (level=10, writer=%s)}>" % path
31+
assert repr(logger) == "<loguru.logger handlers=[(id=0, level=10, writer=%s)]>" % path
3232

3333

3434
def test_file_pathlib(tmpdir):
3535
path = str(tmpdir.join("test.log"))
3636
logger.add(pathlib.Path(path))
37-
assert repr(logger) == "<loguru.logger handlers={0: (level=10, writer=%s)}>" % path
37+
assert repr(logger) == "<loguru.logger handlers=[(id=0, level=10, writer=%s)]>" % path
3838

3939

4040
def test_stream_object():
@@ -49,7 +49,7 @@ def __repr__(self):
4949
return "MyStream()"
5050

5151
logger.add(MyStream("<foobar>"))
52-
assert repr(logger) == "<loguru.logger handlers={0: (level=10, writer=<foobar>)}>"
52+
assert repr(logger) == "<loguru.logger handlers=[(id=0, level=10, writer=<foobar>)]>"
5353

5454

5555
def test_stream_object_without_name_attr():
@@ -61,7 +61,7 @@ def __repr__(self):
6161
return "MyStream()"
6262

6363
logger.add(MyStream())
64-
assert repr(logger) == "<loguru.logger handlers={0: (level=10, writer=MyStream())}>"
64+
assert repr(logger) == "<loguru.logger handlers=[(id=0, level=10, writer=MyStream())]>"
6565

6666

6767
def test_class():
@@ -76,7 +76,7 @@ def __repr__(self):
7676
return "MyStream()"
7777

7878
logger.add(MyStream)
79-
assert repr(logger) == "<loguru.logger handlers={0: (level=10, writer=<foobar>)}>"
79+
assert repr(logger) == "<loguru.logger handlers=[(id=0, level=10, writer=<foobar>)]>"
8080

8181

8282
def test_class_without_name_attr():
@@ -88,15 +88,15 @@ def __repr__(self):
8888
return "MyStream()"
8989

9090
logger.add(MyStream)
91-
assert repr(logger) == "<loguru.logger handlers={0: (level=10, writer=MyStream())}>"
91+
assert repr(logger) == "<loguru.logger handlers=[(id=0, level=10, writer=MyStream())]>"
9292

9393

9494
def test_function():
9595
def my_function(message):
9696
pass
9797

9898
logger.add(my_function)
99-
assert repr(logger) == "<loguru.logger handlers={0: (level=10, writer=my_function)}>"
99+
assert repr(logger) == "<loguru.logger handlers=[(id=0, level=10, writer=my_function)]>"
100100

101101

102102
def test_function_without_name():
@@ -114,49 +114,49 @@ def __getattr__(self, name):
114114

115115
function = Function()
116116
logger.add(function)
117-
assert repr(logger) == "<loguru.logger handlers={0: (level=10, writer=<Function>)}>"
117+
assert repr(logger) == "<loguru.logger handlers=[(id=0, level=10, writer=<Function>)]>"
118118

119119

120120
def test_standard_handler():
121121
handler = logging.StreamHandler(sys.__stderr__)
122122
logger.add(handler)
123123
if sys.version_info >= (3, 6):
124-
r = "<loguru.logger handlers={0: (level=10, writer=<StreamHandler <stderr> (NOTSET)>)}>"
124+
r = "<loguru.logger handlers=[(id=0, level=10, writer=<StreamHandler <stderr> (NOTSET)>)]>"
125125
assert repr(logger) == r
126126
else:
127-
r = r"<loguru\.logger handlers=\{0: \(level=10, writer=<logging\.StreamHandler .*>\)\}>"
127+
r = r"<loguru\.logger handlers=\[\(id=0, level=10, writer=<logging\.StreamHandler .*>\)\]>"
128128
assert re.match(r, repr(logger))
129129

130130

131131
def test_standard_handler_class():
132132
handler = logging.Handler
133133
logger.add(handler)
134134
if sys.version_info >= (3, 6):
135-
r = "<loguru.logger handlers={0: (level=10, writer=<Handler (NOTSET)>)}>"
135+
r = "<loguru.logger handlers=[(id=0, level=10, writer=<Handler (NOTSET)>)]>"
136136
assert repr(logger) == r
137137
else:
138-
r = r"<loguru\.logger handlers=\{0: \(level=10, writer=<logging\.Handler .*>\)\}>"
138+
r = r"<loguru\.logger handlers=\[\(id=0, level=10, writer=<logging\.Handler .*>\)\]>"
139139
assert re.match(r, repr(logger))
140140

141141
def test_multiple_handlers():
142142
logger.add(sys.__stdout__)
143143
logger.add(sys.__stderr__)
144-
r = "<loguru.logger handlers={0: (level=10, writer=<stdout>), 1: (level=10, writer=<stderr>)}>"
144+
r = "<loguru.logger handlers=[(id=0, level=10, writer=<stdout>), (id=1, level=10, writer=<stderr>)]>"
145145
assert repr(logger) == r
146146

147147

148148
def test_handler_removed():
149149
i = logger.add(sys.__stdout__)
150150
logger.add(sys.__stderr__)
151151
logger.remove(i)
152-
assert repr(logger) == "<loguru.logger handlers={1: (level=10, writer=<stderr>)}>"
152+
assert repr(logger) == "<loguru.logger handlers=[(id=1, level=10, writer=<stderr>)]>"
153153

154154

155155
def test_handler_level_name():
156156
logger.add(sys.__stderr__, level="TRACE")
157-
assert repr(logger) == "<loguru.logger handlers={0: (level=5, writer=<stderr>)}>"
157+
assert repr(logger) == "<loguru.logger handlers=[(id=0, level=5, writer=<stderr>)]>"
158158

159159

160160
def test_handler_level_num():
161161
logger.add(sys.__stderr__, level=33)
162-
assert repr(logger) == "<loguru.logger handlers={0: (level=33, writer=<stderr>)}>"
162+
assert repr(logger) == "<loguru.logger handlers=[(id=0, level=33, writer=<stderr>)]>"

0 commit comments

Comments
 (0)