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