tlog-rec-session.conf(5)
π tlog-rec-session.conf β the manual page, but make it a group chat π
okay so bestie, this is the man page for tlog-rec-session.conf(5) β it lives in the File Formats Manual section, and it's genuinely one of my faves. let's get into it π«Ά
β¨ NAME β¨
tlog-rec-session.conf β the config file for tlog-rec-session, periodt.
πΈ DESCRIPTION πΈ
so tlog-rec-session.conf is a JSON-format configuration file for the tlog-rec-session program. and here's the iconic part β contrary to the strict JSON specification, both C and C++ style comments are allowed in the file. yes bestie, you can leave notes. we love a flexible king π
the file must contain a single JSON object with the objects and fields described below. almost all of them are optional and assume a default value. however β and this is the lowkey important bit β those that do require a value can still be omitted, and specified to tlog-rec-session in other ways: through environment variables or command line. so you're never truly stuck π
π OBJECTS AND FIELDS π
π Root object
shell(string) β the path to the shell executable which should be spawned.- Default:
"/bin/bash"
- Default:
notice(string) β a message which will be printed before starting recording and the user shell. can be used to warn the user that the session is recorded. (aka the "hey bestie you're being watched" note β¨)- Default:
"\nATTENTION! Your session is being recorded!\n\n"
- Default:
latency(integer) β the number of seconds to cache captured data for before logging. the encoded data which does not reach payload size stays in memory and is not logged until this number of seconds elapses.- Minimum:
1 - Default:
10
- Minimum:
payload(integer) β the maximum encoded data (payload) size per message, in bytes. as soon as payload exceeds this number of bytes, it is formatted into a message and logged.- Minimum:
32 - Default:
2048
- Minimum:
log(object) β logged data set object, see below.limit(object) β logging limit object, see below.file(object) β file writer object, see below.syslog(object) β syslog writer object, see below.journal(object) β journal writer object, see below.writer(string) β the type of "log writer" to use for logging. the writer needs to be configured using its dedicated parameters. iykyk π- One of:
"journal","syslog","file" - Default:
"journal"
- One of:
π¦ log β Logged data set object
input(boolean) β if true, user input is logged.- Default:
false
- Default:
output(boolean) β if true, terminal output is logged.- Default:
true
- Default:
window(boolean) β if true, terminal window size changes are logged.- Default:
true
- Default:
π₯ limit β Logging limit object
rate(integer) β the maximum rate messages could be logged at, in bytes/sec.- Minimum:
0 - Default:
16384
- Minimum:
burst(integer) β the number of bytes by which logged messages are allowed to exceed the rate limit momentarily, i.e. "burstiness".- Minimum:
0 - Default:
32768
- Minimum:
action(string) β the logging limit action. if set to"pass", no logging limits will be applied. if set to"delay", logging will be throttled. if set to"drop", messages exceeding limits will be dropped. (rip to those messages π)- One of:
"pass","delay","drop" - Default:
"pass"
- One of:
π file β File writer object
path(string) β the"file"writer log file path.- No default. (ngl, you gotta give this one a value)
π syslog β Syslog writer object
facility(string) β the syslog facility the"syslog"writer should use for messages.- One of:
"auth","authpriv","cron","daemon","ftp","kern","local0","local1","local2","local3","local4","local5","local6","local7","lpr","mail","news","syslog","user","uucp" - Default:
"authpriv"
- One of:
priority(string) β the syslog priority the"syslog"writer should use for messages.- One of:
"emerg","alert","crit","err","warning","notice","info","debug" - Default:
"info"
- One of:
π§ journal β Journal writer object
priority(string) β the syslog-style priority the"journal"writer should use for messages.- One of:
"emerg","alert","crit","err","warning","notice","info","debug" - Default:
"info"
- One of:
augment(boolean) β if true, the"journal"writer copies the following JSON fields to Journal fields:user->TLOG_USER,session->TLOG_SESSION,rec->TLOG_REC, andid->TLOG_ID. it's giving β¨remappingβ¨- Default:
true
- Default:
π EXAMPLES π
a configuration specifying only a shell:
{
"shell": "/usr/bin/zsh"
}
a configuration enabling logging user input:
{
"log": {
"input": true
}
}
a configuration specifying logging to a file:
{
"writer": "file",
"file" : {
"path": "/var/log/tlog-rec-session.log"
}
}
π SEE ALSO π
tlog-rec-session(8), http://json.org/
π AUTHOR π
Nikolai Kondrashov <spbnick@gmail.com>
and that's the whole vibe check bestie β this page is brought to you by Tlog, dated February 2016. slay, no cap, go configure something iconic πβ¨ππ¦
π¦ where this page comes from
- centos-stream 10: tlog 14-4.el10 Β· GPL-2.0-or-later
- centos-stream 9: tlog 14-1.el9 Β· GPLv2+
- centos-stream 9: tlog 14-1.el9 Β· GPLv2+
- fedora 43: tlog 14-6.fc43 Β· GPL-2.0-or-later
- fedora 43: tlog 14-6.fc43 Β· GPL-2.0-or-later
- fedora 44: tlog 14-7.fc44 Β· GPL-2.0-or-later
- fedora 44: tlog 14-7.fc44 Β· GPL-2.0-or-later
- ubuntu noble: tlog 14-1build2 Β· GPL-2.0-or-later
- ubuntu questing: tlog 14-2
- ubuntu resolute: tlog 14-2.1 Β· GPL-2.0-or-later
- ubuntu stonking: tlog 14-3 Β· GPL-2.0-or-later
- Copyright (C) 2016 Red Hat
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms