Paludis Logo Introduction Main page
Bugs, Requests, Support Release Notes
Overview ChangeLog
FAQ  
Clients  
Configuration  
API  

output.conf

###PALUDISENVIRONMENTONLY###

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