summaryrefslogtreecommitdiffstats
path: root/pym/portage/elog/__init__.py
diff options
context:
space:
mode:
authorMarius Mauch <genone@gentoo.org>2007-06-30 11:21:26 +0000
committerMarius Mauch <genone@gentoo.org>2007-06-30 11:21:26 +0000
commit6e969a709c40e8c78e4961e7ea7e9f045cfb6d92 (patch)
tree53d87ad4ab895cb8c195db58200b250fa4237371 /pym/portage/elog/__init__.py
parent6e4dbc5df61a885fde1912f3a25fe32c6da844d6 (diff)
downloadportage-6e969a709c40e8c78e4961e7ea7e9f045cfb6d92.tar.gz
portage-6e969a709c40e8c78e4961e7ea7e9f045cfb6d92.tar.bz2
portage-6e969a709c40e8c78e4961e7ea7e9f045cfb6d92.zip
apply additional phase filters as otherwise some messages are logged in both unmerge and merge
svn path=/main/trunk/; revision=7098
Diffstat (limited to 'pym/portage/elog/__init__.py')
-rw-r--r--pym/portage/elog/__init__.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/pym/portage/elog/__init__.py b/pym/portage/elog/__init__.py
index cbe9f47fa..ef040faa9 100644
--- a/pym/portage/elog/__init__.py
+++ b/pym/portage/elog/__init__.py
@@ -41,7 +41,8 @@ def _combine_logentries(logentries):
return rValue
_elog_atexit_handlers = []
-def elog_process(cpv, mysettings):
+_preserve_logentries = {}
+def elog_process(cpv, mysettings, phasefilter=None):
ebuild_logentries = collect_ebuild_messages(os.path.join(mysettings["T"], "logging"))
all_logentries = collect_messages()
if all_logentries.has_key(cpv):
@@ -49,8 +50,18 @@ def elog_process(cpv, mysettings):
else:
all_logentries[cpv] = ebuild_logentries
- my_elog_classes = set(mysettings.get("PORTAGE_ELOG_CLASSES", "").split())
+ for key in _preserve_logentries.keys():
+ if all_logentries.has_key(key):
+ all_logentries[key] = _merge_logentries(_preserve_logentries[key], all_logentries[key])
+ else:
+ all_logentries[key] = _preserve_logentries[key]
+ del _preserve_logentries[key]
+
+ if phasefilter != None:
+ for key in all_logentries:
+ all_logentries[key], _preserve_logentries[key] = phasefilter(all_logentries[key])
+ my_elog_classes = set(mysettings.get("PORTAGE_ELOG_CLASSES", "").split())
for key in all_logentries:
default_logentries = filter_loglevels(all_logentries[key], my_elog_classes)