From 52e651cf61279adb970e937de137551c38e384bd Mon Sep 17 00:00:00 2001 From: Ruud Date: Tue, 30 Aug 2011 23:27:57 +0200 Subject: [PATCH] Remove private data from logs --- couchpotato/core/logger.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/couchpotato/core/logger.py b/couchpotato/core/logger.py index 32dbc205..bab9ed7f 100644 --- a/couchpotato/core/logger.py +++ b/couchpotato/core/logger.py @@ -1,8 +1,10 @@ import logging +import re class CPLog(): context = '' + replace_private = ['api', 'apikey', 'api_key', 'password', 'username'] def __init__(self, context = ''): self.context = context @@ -28,4 +30,10 @@ class CPLog(): self.logger.critical(self.addContext(msg), exc_info = 1) def addContext(self, msg): - return '[%+25.25s] %s' % (self.context[-25:], msg) + return '[%+25.25s] %s' % (self.context[-25:], self.removePrivateData(msg)) + + def removePrivateData(self, msg): + for replace in self.replace_private: + msg = re.sub('(%s=)[^\&]+' % replace, '%s=xxx' % replace, msg) + + return msg