output.conf
This document applies only to clients using PaludisEnvironment. Any standard client that supports a
    --environment command line option uses PaludisEnvironment unless overridden, either by
    explicitly selecting another environment (e.g. --environment portage) or, on distributions also
    supporting Portage, by lack of a Paludis configuration and presence of a Portage configuration.
Usually you do not need an output.conf at all. The defaults are generally fine.
The output.conf file controls how Paludis handles output from subcommands such as building and
installing a package, or syncing a repository. The basic configuration is set in
$SHAREDIR/environments/paludis/default_output.conf, and additional configuration can be specified by the
user in output.conf in the normal configuration directory.
There are currently a few basic settings that can be set in output.conf:
# always_keep_output_logs may be set to 'true' to always keep output logs, even
# if a build succeeds.
always_keep_output_logs = false
# quiet may be set to 'true' to show only messages, rather than all output, when
# carrying out an action.
quiet = false
# log_path can be set to change where log files are saved. It defaults to
# ${root}/var/log/paludis .
log_path = ${root}/var/log/paludis
For more advanced usage, two additional variables allow additional output managers to be specified:
# extra_output_managers may be used to define additional output managers that # handle normal output. extra_output_managers = # extra_message_managers may be used to define additional output managers that # handle messages. extra_message_managers =
For example, if you wish to send messages to syslog, you could use:
extra_message_managers = my_syslog_messages
[manager my_syslog_messages]
handler = command
start_command = echo Starting %{action} %{full_name} | logger -t paludis
end_command = echo Finished %{action} %{full_name} | logger -t paludis
stdout_command = logger -t paludis
stderr_command = cat >/dev/null
To keep logs of stderr output, you could use:
extra_output_managers = my_log_stderr
[manager my_log_stderr]
handler = tee
stderr_children = my_log_stderr_file
[manager my_log_stderr_file]
handler = file
filename = ${root}/var/tmp/paludis/%{time}-%{action}-%{full_name}.stderr
keep_on_empty = false
keep_on_success = true
summary_output_manager = format_messages_standard
summary_output_message = Stderr: ${filename}
You can also override default output managers. To really confuse everyone, you could use:
[manager standard] handler = command stdout_command = tr -d '\e' | rev stderr_command = tr -d '\e' | rev
