Alon Bar-Lev has uploaded a new change for review.

Change subject: core: log: add indirect filtering
......................................................................

core: log: add indirect filtering

Change-Id: Id96a70f5450f9416583b7803dfe7a10aa6c98472
Signed-off-by: Alon Bar-Lev <[email protected]>
---
M ChangeLog
M src/otopi/constants.py
M src/plugins/otopi/core/log.py
3 files changed, 18 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/otopi refs/changes/82/19782/1

diff --git a/ChangeLog b/ChangeLog
index c13b86b..9db8865 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,7 @@
 
  * network: firewalld: fix service deletion.
  * core: fix suppress environment variable logic.
+ * core: log: add indirect filtering.
 
 2013-09-07 - Version 1.1.1
 
diff --git a/src/otopi/constants.py b/src/otopi/constants.py
index f4804ba..9313dd5 100644
--- a/src/otopi/constants.py
+++ b/src/otopi/constants.py
@@ -121,6 +121,7 @@
     LOG_DIR = 'CORE/logDir'
     LOG_FILE_NAME = 'CORE/logFileName'
     LOG_FILTER = 'CORE/logFilter'
+    LOG_FILTER_KEYS = 'CORE/logFilterKeys'
     LOG_FILE_HANDLE = 'CORE/logFileHandle'
     LOG_REMOVE_AT_EXIT = 'CORE/logRemoveAtExit'
     CONFIG_FILE_NAME = 'CORE/configFileName'
diff --git a/src/plugins/otopi/core/log.py b/src/plugins/otopi/core/log.py
index eea8a04..8618931 100644
--- a/src/plugins/otopi/core/log.py
+++ b/src/plugins/otopi/core/log.py
@@ -68,20 +68,30 @@
     class _MyFormatter(logging.Formatter):
         """Filter strings from log entries."""
 
+        @property
+        def environment(self):
+            return self._environment
+
         def __init__(
             self,
             fmt=None,
             datefmt=None,
-            filter=None,
+            environment=None,
         ):
             logging.Formatter.__init__(self, fmt=fmt, datefmt=datefmt)
-            self._filter = filter
+            self._environment = environment
 
         def format(self, record):
             msg = logging.Formatter.format(self, record)
 
-            if self._filter is not None:
-                for f in self._filter._list:
+            for f in (
+                self.environment[constants.CoreEnv.LOG_FILTER]._list +
+                [
+                    self.environment[k] for k in
+                    self.environment[constants.CoreEnv.LOG_FILTER_KEYS]
+                ]
+            ):
+                if f not in (None, ''):
                     msg = msg.replace(f, '**FILTERED**')
 
             return msg
@@ -93,6 +103,7 @@
     def _setupLogging(self):
         self.environment[constants.CoreEnv.LOG_FILE_HANDLE] = None
         self.environment[constants.CoreEnv.LOG_FILTER] = self._MyLoggerFilter()
+        self.environment[constants.CoreEnv.LOG_FILTER_KEYS] = []
         self.environment.setdefault(
             constants.CoreEnv.LOG_FILE_NAME_PREFIX,
             constants.Defaults.LOG_FILE_PREFIX
@@ -148,7 +159,7 @@
                     '%(message)s'
                 ),
                 datefmt='%Y-%m-%d %H:%M:%S',
-                filter=self.environment[constants.CoreEnv.LOG_FILTER],
+                environment=self.environment,
             )
         )
         l = logging.getLogger("otopi")


-- 
To view, visit http://gerrit.ovirt.org/19782
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id96a70f5450f9416583b7803dfe7a10aa6c98472
Gerrit-PatchSet: 1
Gerrit-Project: otopi
Gerrit-Branch: master
Gerrit-Owner: Alon Bar-Lev <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to