1tlog-play(8) System Manager's Manual tlog-play(8)
2
3
4
6 tlog-play - play back terminal I/O recorded by tlog-rec(8)
7
8
10 tlog-play [OPTION...]
11
12
14 Tlog-play is a playback program for terminal I/O recorded with tlog-
15 rec(8). It reproduces the recording on the terminal it's run under,
16 and can't change its size, so the playback terminal size needs to match
17 the recorded terminal size for proper playback.
18
19 Tlog-play loads its parameters from the system-wide configuration file
20 /usr/local/etc/tlog/tlog-play.conf, which can be overridden with com‐
21 mand-line options described below.
22
23
25 General options
26 -h, --help
27 Output a command-line usage message and exit.
28
29
30
31
32 -v, --version
33 Output version information and exit.
34
35
36
37
38 --configuration
39 Output program configuration in JSON and exit.
40
41
42
43
44 -s, --speed=NUMBER
45 Set playback speed multiplier to NUMBER.
46
47 NUMBER is a floating-point number to multiply playback speed by.
48 Can be adjusted during playback.
49
50 Value minimum: 0
51
52 -f, --follow
53 Wait for and play back new messages.
54
55 If specified, when the end of the recorded session is reached,
56 wait for new messages to be added and play them back when they
57 appear.
58
59
60 -g, --goto=STRING
61 Fast-forward to STRING time (start/end/HH:MM:SS.sss).
62
63 STRING is a logical location, or a time to which recording
64 should be fast-forwarded. Can be a "start", or an "end" string,
65 or a timestamp formatted as HH:MM:SS.sss, where any part can be
66 omitted to mean zero.
67
68
69 -p, --paused
70 Start playback paused.
71
72 If specified, playback is started in a paused state.
73
74
75 -r, --reader=STRING
76 Use STRING log reader (file/journal/es, default file).
77
78 STRING is the type of "log reader" to use for retrieving log
79 messages. The chosen reader needs to be configured using its own
80 dedicated parameters.
81
82 Value should be one of: "file", "journal", "es"
83
84 --persist
85 Ignore quit key and signals from keyboard.
86
87 If specified, ignore any keyboard-generated signals and the quit
88 key.
89
90
91 --lax Ignore missing (dropped) log messages.
92
93 If specified, ignore missing (dropped, or lost) log messages.
94 Otherwise report an error and abort when a message is missing.
95
96
97 File reader options
98 -i, --file-path=FILE
99 Read log from FILE file.
100
101 FILE is the path to the file the "file" reader should read logs
102 from.
103
104
105 Elasticsearch reader options
106 --es-baseurl=STRING
107 Elasticsearch URL without query or fragment parts.
108
109 STRING is the base URL to request Elasticsearch through. Should
110 not contain query (?...) or fragment (#...) parts.
111
112
113 --es-query=STRING
114 Elasticsearch query.
115
116 STRING is the query string to send to Elasticsearch
117
118
119 Systemd journal reader options
120 -S, --journal-since=SECONDS
121 Start searching journal at SECONDS since epoch.
122
123 SECONDS is the number of seconds since epoch to seek to before
124 searching for the first matching log entry.
125
126 Value minimum: 0
127
128 -U, --journal-until=SECONDS
129 Stop searching journal at SECONDS since epoch.
130
131 SECONDS is the number of seconds since epoch at which searching
132 for log entries should stop.
133
134 Value minimum: 0
135
136 -M, --journal-match=STRING
137 Add STRING to journal match symbol list.
138
139 Each STRING specifies a journal match symbol: either a name-
140 value pair, according to sd_journal_add_match(3), or an "OR" or
141 "AND" string signifying disjunction or conjunction, as with
142 sd_journal_add_disjunction(3) and sd_journal_add_conjunction(3)
143
144
145
146
148 Playback can be controlled using the following keys:
149
150
151 SPACE, p
152 Pause/resume playback.
153
154
155 } Double the playback speed. Maximum is 16x.
156
157
158 { Halve the playback speed. Minimum is 1/16x.
159
160
161 BACKSPACE
162 Reset playback to normal, 1x speed.
163
164
165 . Output the next packet immediately, without delay, regardless if
166 paused or not. Press when paused to step through recording.
167 Press once to skip a long pause. Hold to skip through recording
168 at constant speed (the keyboard repeat rate).
169
170
171 G Fast-forward the recording to the end, or to specified time.
172 Works while playing and on pause. The time can be specified by
173 typing in a timestamp before pressing 'G'. The timestamp should
174 follow the format of the -g/--goto option value, but without the
175 fractions of a second. The command has no effect, if the speci‐
176 fied time location has already been reached.
177
178 E.g. pressing just 'G' would fast-forward to the end, which is
179 useful with following enabled. Pressing '3', '0', 'G' (typing
180 "30G") would fast-forward to 30 seconds from the start of the
181 recording. Typing "30:00G" would fast-forward to 30 minutes, and
182 so would "30:G", and "1800G". Typing "2::G" would fast-forward
183 to two hours into the recording, the same as "120:G" and
184 "7200G".
185
186
187 q Stop playing and quit.
188
189
191 /usr/local/etc/tlog/tlog-play.conf
192 The system-wide configuration file
193
194
196 Recordings can include control sequences attempting to communicate with
197 the terminal, and the playback terminal would dutifully reply to them.
198 Tlog-play tries to filter these responses out, but since it's not a
199 full terminal emulator itself, and since there's a great variety of
200 such control sequences, it can sometimes fail, and interpret some of
201 these as playback control keys described above, with corresponding
202 effects.
203
204 This is going to be fixed in future releases, possibly by embedding a
205 proper terminal emulator in tlog-play. For now, most recordings would
206 reproduce correctly, but some might exhibit erratic behavior, and it is
207 possible to e.g. make a recording which would skip (hide) a part of
208 itself on playback. However, there are other, easier ways to hide
209 actions on a terminal, of course.
210
211
213 Play back contents of a file written with tlog-rec's "file" writer:
214 tlog-play -r file --file-path=recording.log
215
216
217 Play back a recording from Journal:
218 tlog-play -r journal -M
219 TLOG_REC=6071524bb44d403991a00413ab7c8596-53bd-378c5d9
220
221
222 Play back a recording from Elasticsearch:
223 tlog-play -r es --es-baseurl=http://local‐
224 host:9200/tlog/tlog/_search --es-query=session:121
225
226
228 tlog-play.conf(5), tlog-rec(8)
229
230
232 Nikolai Kondrashov <spbnick@gmail.com>
233
234
235
236Tlog March 2016 tlog-play(8)