File tree 1 file changed +9
-1
lines changed
1 file changed +9
-1
lines changed Original file line number Diff line number Diff line change 34
34
35
35
# Dictionary of logging handlers we create, keyed by type
36
36
handlers = {}
37
+ # Another dictionary of streams we've redirected (stdout, stderr)
38
+ streams = {}
37
39
38
40
39
41
class StreamToLogger (object ):
@@ -79,9 +81,14 @@ def errors(self):
79
81
def reroute_output ():
80
82
"""Route stdout and stderr to logger (custom handler)"""
81
83
if not getattr (sys , 'frozen' , False ):
84
+ # Hang on to the original objects
85
+ streams .update ({
86
+ 'stderr' : sys .stderr ,
87
+ 'stdout' : sys .stdout ,
88
+ })
89
+ # Re-route output streams
82
90
handlers ['stdout' ] = StreamToLogger (log , logging .INFO )
83
91
sys .stdout = handlers ['stdout' ]
84
-
85
92
handlers ['stderr' ] = StreamToLogger (log , logging .ERROR )
86
93
sys .stderr = handlers ['stderr' ]
87
94
@@ -92,3 +99,4 @@ def set_level_file(level=logging.INFO):
92
99
93
100
def set_level_console (level = logging .INFO ):
94
101
handlers ['stream' ].setLevel (level )
102
+
You can’t perform that action at this time.
0 commit comments