aboutsummaryrefslogtreecommitdiff
path: root/doc/configuration/output.html.part.in
blob: 14ea5acbb53a0187d54d8c0930555a0a4887400e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->

<h1>output.conf</h1>

###PALUDISENVIRONMENTONLY###

<p><strong>Usually you do not need an <code>output.conf</code> at all.</strong> The defaults are generally fine.</p>

<p>The <code>output.conf</code> 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
<code>$SHAREDIR/environments/paludis/default_output.conf</code>, and additional configuration can be specified by the
user in <code>output.conf</code> in the normal configuration directory.</p>

<p>There are currently a few basic settings that can be set in <code>output.conf</code>:</p>

<pre>
# 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
</pre>

<p>For more advanced usage, two additional variables allow additional output managers to be specified:

<pre>
# 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 =
</pre>

<p>For example, if you wish to send messages to syslog, you could use:</p>

<pre>
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 &gt;/dev/null
</pre>

<p>To keep logs of stderr output, you could use:</p>

<pre>
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}
</pre>

<p>You can also override default output managers. To really confuse everyone, you could use:</p>

<pre>
[manager standard]
handler = command
stdout_command = tr -d '\e' | rev
stderr_command = tr -d '\e' | rev
</pre>