diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-11-29 09:35:50 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-11-29 09:35:50 +0000 |
commit | 86df9fc17e057b01d7eece3c148378d86092d4c7 (patch) | |
tree | d7160c424ea5459ec57df5161e50cd051febd6f6 | |
parent | b5d5d7c15cf4470d9c94a2cf19e03120e731a0ed (diff) | |
download | portage-86df9fc17e057b01d7eece3c148378d86092d4c7.tar.gz portage-86df9fc17e057b01d7eece3c148378d86092d4c7.tar.bz2 portage-86df9fc17e057b01d7eece3c148378d86092d4c7.zip |
Make elog_process() pre-load log modules that it can be called
just for that purpose. (trunk r8751)
svn path=/main/branches/2.1.2/; revision=8752
-rw-r--r-- | pym/portage.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/pym/portage.py b/pym/portage.py index 88f0b3fb4..c1527a4d4 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -495,6 +495,25 @@ class digraph: _elog_mod_imports = {} _elog_atexit_handlers = [] def elog_process(cpv, mysettings): + + global _elog_mod_imports + logsystems = mysettings.get("PORTAGE_ELOG_SYSTEM","").split() + for s in logsystems: + # allow per module overrides of PORTAGE_ELOG_CLASSES + if ":" in s: + s, levels = s.split(":", 1) + levels = levels.split(",") + # - is nicer than _ for module names, so allow people to use it. + s = s.replace("-", "_") + try: + logmodule = __import__("elog_modules.mod_"+s) + m = _elog_mod_imports.get(logmodule) + if m is None: + m = getattr(logmodule, "mod_"+s) + _elog_mod_imports[logmodule] = m + except ImportError: + pass + mylogfiles = listdir(mysettings["T"]+"/logging/") # shortcut for packages without any messages if len(mylogfiles) == 0: |