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