From: Zac Medico Date: Thu, 21 Jun 2007 05:00:59 +0000 (-0000) Subject: add new echo module for people who don't want any real logging (trunk r6458) X-Git-Tag: v2.1.3~198 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=0af6c6ee182e58a23e1c26c9fd577f3b83a0418d;p=portage.git add new echo module for people who don't want any real logging (trunk r6458) svn path=/main/branches/2.1.2/; revision=6899 --- diff --git a/cnf/make.conf b/cnf/make.conf index 15d54da06..5c2b8a5da 100644 --- a/cnf/make.conf +++ b/cnf/make.conf @@ -333,6 +333,7 @@ PORTAGE_ELOG_CLASSES="warn error log" # PORTAGE_ELOG_SYSTEM: selects the module(s) to process the log messages. Modules # included in portage are (empty means logging is disabled): +# echo (display messages again when emerge exits) # save (saves one log per package in $PORT_LOGDIR/elog, # /var/log/portage/elog if $PORT_LOGDIR is unset) # custom (passes all messages to $PORTAGE_ELOG_COMMAND) diff --git a/pym/elog_modules/mod_echo.py b/pym/elog_modules/mod_echo.py new file mode 100644 index 000000000..a120d17c9 --- /dev/null +++ b/pym/elog_modules/mod_echo.py @@ -0,0 +1,30 @@ +# elog_modules/mod_echo.py - elog dispatch module +# Copyright 2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +from output import EOutput +from portage_const import EBUILD_PHASES + +_items = {} +def process(mysettings, key, logentries, fulltext): + _items[key] = logentries + +def finalize(mysettings): + printer = EOutput() + for key in _items.keys(): + print + printer.einfo("Messages for package %s:" % key) + print + for phase in EBUILD_PHASES: + if not phase in _items[key]: + continue + for msgtype, msgcontent in _items[key][phase]: + fmap = {"INFO": printer.einfo, + "WARN": printer.ewarn, + "ERROR": printer.eerror, + "LOG": printer.einfo, + "QA": printer.ewarn} + for line in msgcontent: + fmap[msgtype](line.strip("\n")) + return