File tree 2 files changed +18
-4
lines changed
2 files changed +18
-4
lines changed Original file line number Diff line number Diff line change @@ -61,16 +61,16 @@ class OutputLogger:
61
61
Defaults to ``sys.stderr``.
62
62
:param trace: Enables trace-level output. Defaults to ``False``.
63
63
"""
64
- def __init__ (self , file = sys . stderr , trace = False ):
64
+ def __init__ (self , file = None , trace_level = False ):
65
65
super ().__init__ ()
66
- self .file = file
67
- self .trace = trace
66
+ self .file = file or sys . stderr
67
+ self .trace_level = trace_level
68
68
69
69
def debug (self , fmtstr , * args ):
70
70
print (f"h2 (debug): { fmtstr % args } " , file = self .file )
71
71
72
72
def trace (self , fmtstr , * args ):
73
- if self .trace :
73
+ if self .trace_level :
74
74
print (f"h2 (trace): { fmtstr % args } " , file = self .file )
75
75
76
76
Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ class TestH2Config(object):
15
15
"""
16
16
Tests of the H2 config object.
17
17
"""
18
+
18
19
def test_defaults (self ):
19
20
"""
20
21
The default values of the HTTP/2 config object are sensible.
@@ -128,3 +129,16 @@ def test_logger_instance_is_reflected(self):
128
129
config = h2 .config .H2Configuration ()
129
130
config .logger = logger
130
131
assert config .logger is logger
132
+
133
+ @pytest .mark .parametrize ("trace_level" , [False , True ])
134
+ def test_output_logger (self , capsys , trace_level ):
135
+ logger = h2 .config .OutputLogger (trace_level = trace_level )
136
+
137
+ logger .debug ("This is a debug message %d." , 123 )
138
+ logger .trace ("This is a trace message %d." , 123 )
139
+ captured = capsys .readouterr ()
140
+ assert "h2 (debug): This is a debug message 123.\n " in captured .err
141
+ if trace_level :
142
+ assert "h2 (trace): This is a trace message 123.\n " in captured .err
143
+ else :
144
+ assert "h2 (trace): This is a trace message 123.\n " not in captured .err
You can’t perform that action at this time.
0 commit comments