File tree 1 file changed +27
-0
lines changed
1 file changed +27
-0
lines changed Original file line number Diff line number Diff line change 8
8
9
9
paramstyle = "named"
10
10
11
+ import re
12
+
13
+ class RedactUrlQueryParamsFilter (logging .Filter ):
14
+ pattern = re .compile (r"(\?|&)([\w-]+)=([^&]+)" )
15
+ mask = r"\1\2=<REDACTED>"
16
+
17
+ def __init__ (self ):
18
+ super ().__init__ ()
19
+
20
+ def redact (self , string ):
21
+ return re .sub (self .pattern , self .mask , str (string ))
22
+
23
+ def filter (self , record ):
24
+ record .msg = self .redact (str (record .msg ))
25
+ if isinstance (record .args , dict ):
26
+ for k in record .args .keys ():
27
+ record .args [k ] = self .redact (record .args [k ])
28
+ else :
29
+ record .args = tuple (
30
+ (self .redact (arg ) if isinstance (arg , str ) else arg )
31
+ for arg in record .args
32
+ )
33
+
34
+ return True
35
+
36
+ logging .getLogger ("urllib3.connectionpool" ).addFilter (RedactUrlQueryParamsFilter ())
37
+
11
38
12
39
class DBAPITypeObject (object ):
13
40
def __init__ (self , * values ):
You can’t perform that action at this time.
0 commit comments