ominfra 0.0.0.dev118__py3-none-any.whl → 0.0.0.dev120__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -972,7 +972,7 @@ class StandardLogFormatter(logging.Formatter):
972
972
  if datefmt:
973
973
  return ct.strftime(datefmt) # noqa
974
974
  else:
975
- t = ct.strftime("%Y-%m-%d %H:%M:%S") # noqa
975
+ t = ct.strftime('%Y-%m-%d %H:%M:%S')
976
976
  return '%s.%03d' % (t, record.msecs)
977
977
 
978
978
 
@@ -1109,6 +1109,7 @@ def configure_standard_logging(
1109
1109
  json: bool = False,
1110
1110
  target: ta.Optional[logging.Logger] = None,
1111
1111
  force: bool = False,
1112
+ handler_factory: ta.Optional[ta.Callable[[], logging.Handler]] = None,
1112
1113
  ) -> ta.Optional[StandardLogHandler]:
1113
1114
  with _locking_logging_module_lock():
1114
1115
  if target is None:
@@ -1122,7 +1123,10 @@ def configure_standard_logging(
1122
1123
 
1123
1124
  #
1124
1125
 
1125
- handler = logging.StreamHandler()
1126
+ if handler_factory is not None:
1127
+ handler = handler_factory()
1128
+ else:
1129
+ handler = logging.StreamHandler()
1126
1130
 
1127
1131
  #
1128
1132
 
@@ -2146,333 +2150,396 @@ TODO:
2146
2150
  https://www.freedesktop.org/software/systemd/man/latest/journalctl.html
2147
2151
 
2148
2152
  Source Options
2149
- --system, --user :: Show messages from system services and the kernel (with --system). Show messages from service of
2150
- current user (with --user). If neither is specified, show all messages that the user can see. The
2151
- --user option affects how --unit= arguments are treated. See --unit=. Note that --user only works if
2152
- persistent logging is enabled, via the Storage= setting in journald.conf(5).
2153
- -M, --machine= :: Show messages from a running, local container. Specify a container name to connect to.
2154
- -m, --merge :: Show entries interleaved from all available journals, including remote ones.
2155
- -D DIR, --directory=DIR :: Takes a directory path as argument. If specified, journalctl will operate on the specified
2156
- journal directory DIR instead of the default runtime and system journal paths.
2157
- -i GLOB, --file=GLOB :: Takes a file glob as an argument. If specified, journalctl will operate on the specified journal
2158
- files matching GLOB instead of the default runtime and system journal paths. May be specified
2159
- multiple times, in which case files will be suitably interleaved.
2160
- --root=ROOT :: Takes a directory path as an argument. If specified, journalctl will operate on journal directories and
2161
- catalog file hierarchy underneath the specified directory instead of the root directory (e.g.
2162
- --update-catalog will create ROOT/var/lib/systemd/catalog/database, and journal files under
2163
- ROOT/run/journal/ or ROOT/var/log/journal/ will be displayed).
2164
- --image=IMAGE :: Takes a path to a disk image file or block device node. If specified, journalctl will operate on the
2165
- file system in the indicated disk image. This option is similar to --root=, but operates on file
2166
- systems stored in disk images or block devices, thus providing an easy way to extract log data from
2167
- disk images. The disk image should either contain just a file system or a set of file systems within a
2168
- GPT partition table, following the Discoverable Partitions Specification. For further information on
2169
- supported disk images, see systemd-nspawn(1)'s switch of the same name.
2170
- --image-policy=policy :: Takes an image policy string as argument, as per systemd.image-policy(7). The policy is
2171
- enforced when operating on the disk image specified via --image=, see above. If not specified
2172
- defaults to the "*" policy, i.e. all recognized file systems in the image are used.
2173
- --namespace=NAMESPACE :: Takes a journal namespace identifier string as argument. If not specified the data collected by
2174
- the default namespace is shown. If specified shows the log data of the specified namespace
2175
- instead. If the namespace is specified as "*" data from all namespaces is shown, interleaved.
2176
- If the namespace identifier is prefixed with "+" data from the specified namespace and the
2177
- default namespace is shown, interleaved, but no other. For details about journal namespaces see
2178
- systemd-journald.service(8).
2153
+ --system, --user
2154
+ Show messages from system services and the kernel (with --system). Show messages from service of current user (with
2155
+ --user). If neither is specified, show all messages that the user can see. The --user option affects how --unit=
2156
+ arguments are treated. See --unit=. Note that --user only works if persistent logging is enabled, via the Storage=
2157
+ setting in journald.conf(5).
2158
+ -M, --machine=
2159
+ Show messages from a running, local container. Specify a container name to connect to.
2160
+ -m, --merge
2161
+ Show entries interleaved from all available journals, including remote ones.
2162
+ -D DIR, --directory=DIR
2163
+ Takes a directory path as argument. If specified, journalctl will operate on the specified journal directory DIR
2164
+ instead of the default runtime and system journal paths.
2165
+ -i GLOB, --file=GLOB
2166
+ Takes a file glob as an argument. If specified, journalctl will operate on the specified journal files matching GLOB
2167
+ instead of the default runtime and system journal paths. May be specified multiple times, in which case files will
2168
+ be suitably interleaved.
2169
+ --root=ROOT
2170
+ Takes a directory path as an argument. If specified, journalctl will operate on journal directories and catalog file
2171
+ hierarchy underneath the specified directory instead of the root directory (e.g. --update-catalog will create
2172
+ ROOT/var/lib/systemd/catalog/database, and journal files under ROOT/run/journal/ or ROOT/var/log/journal/ will be
2173
+ displayed).
2174
+ --image=IMAGE
2175
+ Takes a path to a disk image file or block device node. If specified, journalctl will operate on the file system in
2176
+ the indicated disk image. This option is similar to --root=, but operates on file systems stored in disk images or
2177
+ block devices, thus providing an easy way to extract log data from disk images. The disk image should either contain
2178
+ just a file system or a set of file systems within a GPT partition table, following the Discoverable Partitions
2179
+ Specification. For further information on supported disk images, see systemd-nspawn(1)'s switch of the same name.
2180
+ --image-policy=policy
2181
+ Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on
2182
+ the disk image specified via --image=, see above. If not specified defaults to the "*" policy, i.e. all recognized
2183
+ file systems in the image are used.
2184
+ --namespace=NAMESPACE
2185
+ Takes a journal namespace identifier string as argument. If not specified the data collected by the default
2186
+ namespace is shown. If specified shows the log data of the specified namespace instead. If the namespace is
2187
+ specified as "*" data from all namespaces is shown, interleaved. If the namespace identifier is prefixed with "+"
2188
+ data from the specified namespace and the default namespace is shown, interleaved, but no other. For details about
2189
+ journal namespaces see systemd-journald.service(8).
2179
2190
 
2180
2191
  Filtering Options
2181
- -S, --since=, -U, --until= :: Start showing entries on or newer than the specified date, or on or older than the
2182
- specified date, respectively. Date specifications should be of the format
2183
- "2012-10-30 18:17:16". If the time part is omitted, "00:00:00" is assumed. If only the
2184
- seconds component is omitted, ":00" is assumed. If the date component is omitted, the
2185
- current day is assumed. Alternatively the strings "yesterday", "today", "tomorrow" are
2186
- understood, which refer to 00:00:00 of the day before the current day, the current day, or
2187
- the day after the current day, respectively. "now" refers to the current time. Finally,
2188
- relative times may be specified, prefixed with "-" or "+", referring to times before or
2189
- after the current time, respectively. For complete time and date specification, see
2190
- systemd.time(7). Note that --output=short-full prints timestamps that follow precisely
2191
- this format.
2192
- -c, --cursor= :: Start showing entries from the location in the journal specified by the passed cursor.
2193
- --after-cursor= :: Start showing entries from the location in the journal after the location specified by the passed
2194
- cursor. The cursor is shown when the --show-cursor option is used.
2195
- --cursor-file=FILE :: If FILE exists and contains a cursor, start showing entries after this location. Otherwise show
2196
- entries according to the other given options. At the end, write the cursor of the last entry to
2197
- FILE. Use this option to continually read the journal by sequentially calling journalctl.
2198
- -b [[ID][±offset]|all], --boot[=[ID][±offset]|all] :: Show messages from a specific boot. This will add a match for
2199
- "_BOOT_ID=". The argument may be empty, in which case logs for the
2200
- current boot will be shown. If the boot ID is omitted, a positive
2201
- offset will look up the boots starting from the beginning of the
2202
- journal, and an equal-or-less-than zero offset will look up boots
2203
- starting from the end of the journal. Thus, 1 means the first boot
2204
- found in the journal in chronological order, 2 the second and so
2205
- on; while -0 is the last boot, -1 the boot before last, and so on.
2206
- An empty offset is equivalent to specifying -0, except when the
2207
- current boot is not the last boot (e.g. because --directory= was
2208
- specified to look at logs from a different machine). If the
2209
- 32-character ID is specified, it may optionally be followed by
2210
- offset which identifies the boot relative to the one given by boot
2211
- ID. Negative values mean earlier boots and positive values mean
2212
- later boots. If offset is not specified, a value of zero is
2213
- assumed, and the logs for the boot given by ID are shown. The
2214
- special argument all can be used to negate the effect of an
2215
- earlier use of -b.
2216
- -u, --unit=UNIT|PATTERN :: Show messages for the specified systemd unit UNIT (such as a service unit), or for any of the
2217
- units matched by PATTERN. If a pattern is specified, a list of unit names found in the
2218
- journal is compared with the specified pattern and all that match are used. For each unit
2219
- name, a match is added for messages from the unit ("_SYSTEMD_UNIT=UNIT"), along with
2220
- additional matches for messages from systemd and messages about coredumps for the specified
2221
- unit. A match is also added for "_SYSTEMD_SLICE=UNIT", such that if the provided UNIT is a
2222
- systemd.slice(5) unit, all logs of children of the slice will be shown. With --user, all
2223
- --unit= arguments will be converted to match user messages as if specified with --user-unit=.
2224
- This parameter can be specified multiple times.
2225
- --user-unit= :: Show messages for the specified user session unit. This will add a match for messages from the unit
2226
- ("_SYSTEMD_USER_UNIT=" and "_UID=") and additional matches for messages from session systemd and
2227
- messages about coredumps for the specified unit. A match is also added for "_SYSTEMD_USER_SLICE=UNIT",
2228
- such that if the provided UNIT is a systemd.slice(5) unit, all logs of children of the unit will be
2229
- shown. This parameter can be specified multiple times.
2230
- -t, --identifier=SYSLOG_IDENTIFIER :: Show messages for the specified syslog identifier SYSLOG_IDENTIFIER. This
2231
- parameter can be specified multiple times.
2232
- -T, --exclude-identifier=SYSLOG_IDENTIFIER :: Exclude messages for the specified syslog identifier SYSLOG_IDENTIFIER.
2233
- This parameter can be specified multiple times.
2234
- -p, --priority= :: Filter output by message priorities or priority ranges. Takes either a single numeric or textual log
2235
- level (i.e. between 0/"emerg" and 7/"debug"), or a range of numeric/text log levels in the form
2236
- FROM..TO. The log levels are the usual syslog log levels as documented in syslog(3), i.e. "emerg"
2237
- (0), "alert" (1), "crit" (2), "err" (3), "warning" (4), "notice" (5), "info" (6), "debug" (7). If a
2238
- single log level is specified, all messages with this log level or a lower (hence more important) log
2239
- level are shown. If a range is specified, all messages within the range are shown, including both the
2240
- start and the end value of the range. This will add "PRIORITY=" matches for the specified priorities.
2241
- --facility= :: Filter output by syslog facility. Takes a comma-separated list of numbers or facility names. The names
2242
- are the usual syslog facilities as documented in syslog(3). --facility=help may be used to display a list
2243
- of known facility names and exit.
2244
- -g, --grep= :: Filter output to entries where the MESSAGE= field matches the specified regular expression.
2245
- PERL-compatible regular expressions are used, see pcre2pattern(3) for a detailed description of the
2246
- syntax. If the pattern is all lowercase, matching is case insensitive. Otherwise, matching is case
2247
- sensitive. This can be overridden with the --case-sensitive option, see below. When used with --lines=
2248
- (not prefixed with "+"), --reverse is implied.
2249
- --case-sensitive[=BOOLEAN] :: Make pattern matching case sensitive or case insensitive.
2250
- -k, --dmesg :: Show only kernel messages. This implies -b and adds the match "_TRANSPORT=kernel".
2192
+ -S, --since=, -U, --until=
2193
+ Start showing entries on or newer than the specified date, or on or older than the specified date, respectively.
2194
+ Date specifications should be of the format "2012-10-30 18:17:16". If the time part is omitted, "00:00:00" is
2195
+ assumed. If only the seconds component is omitted, ":00" is assumed. If the date component is omitted, the current
2196
+ day is assumed. Alternatively the strings "yesterday", "today", "tomorrow" are understood, which refer to 00:00:00
2197
+ of the day before the current day, the current day, or the day after the current day, respectively. "now" refers to
2198
+ the current time. Finally, relative times may be specified, prefixed with "-" or "+", referring to times before or
2199
+ after the current time, respectively. For complete time and date specification, see systemd.time(7). Note that
2200
+ --output=short-full prints timestamps that follow precisely this format.
2201
+ -c, --cursor=
2202
+ Start showing entries from the location in the journal specified by the passed cursor.
2203
+ --after-cursor=
2204
+ Start showing entries from the location in the journal after the location specified by the passed cursor. The cursor
2205
+ is shown when the --show-cursor option is used.
2206
+ --cursor-file=FILE
2207
+ If FILE exists and contains a cursor, start showing entries after this location. Otherwise show entries according to
2208
+ the other given options. At the end, write the cursor of the last entry to FILE. Use this option to continually read
2209
+ the journal by sequentially calling journalctl.
2210
+ -b [[ID][±offset]|all], --boot[=[ID][±offset]|all]
2211
+ Show messages from a specific boot. This will add a match for "_BOOT_ID=". The argument may be empty, in which case
2212
+ logs for the current boot will be shown. If the boot ID is omitted, a positive offset will look up the boots
2213
+ starting from the beginning of the journal, and an equal-or-less-than zero offset will look up boots starting from
2214
+ the end of the journal. Thus, 1 means the first boot found in the journal in chronological order, 2 the second and
2215
+ so on; while -0 is the last boot, -1 the boot before last, and so on. An empty offset is equivalent to specifying
2216
+ -0, except when the current boot is not the last boot (e.g. because --directory= was specified to look at logs from
2217
+ a different machine). If the 32-character ID is specified, it may optionally be followed by offset which identifies
2218
+ the boot relative to the one given by boot ID. Negative values mean earlier boots and positive values mean later
2219
+ boots. If offset is not specified, a value of zero is assumed, and the logs for the boot given by ID are shown. The
2220
+ special argument all can be used to negate the effect of an earlier use of -b.
2221
+ -u, --unit=UNIT|PATTERN
2222
+ Show messages for the specified systemd unit UNIT (such as a service unit), or for any of the units matched by
2223
+ PATTERN. If a pattern is specified, a list of unit names found in the journal is compared with the specified pattern
2224
+ and all that match are used. For each unit name, a match is added for messages from the unit ("_SYSTEMD_UNIT=UNIT"),
2225
+ along with additional matches for messages from systemd and messages about coredumps for the specified unit. A match
2226
+ is also added for "_SYSTEMD_SLICE=UNIT", such that if the provided UNIT is a systemd.slice(5) unit, all logs of
2227
+ children of the slice will be shown. With --user, all --unit= arguments will be converted to match user messages as
2228
+ if specified with --user-unit=. This parameter can be specified multiple times.
2229
+ --user-unit=
2230
+ Show messages for the specified user session unit. This will add a match for messages from the unit
2231
+ ("_SYSTEMD_USER_UNIT=" and "_UID=") and additional matches for messages from session systemd and messages about
2232
+ coredumps for the specified unit. A match is also added for "_SYSTEMD_USER_SLICE=UNIT", such that if the provided
2233
+ UNIT is a systemd.slice(5) unit, all logs of children of the unit will be shown. This parameter can be specified
2234
+ multiple times.
2235
+ -t, --identifier=SYSLOG_IDENTIFIER
2236
+ Show messages for the specified syslog identifier SYSLOG_IDENTIFIER. This parameter can be specified multiple times.
2237
+ -T, --exclude-identifier=SYSLOG_IDENTIFIER
2238
+ Exclude messages for the specified syslog identifier SYSLOG_IDENTIFIER. This parameter can be specified multiple
2239
+ times.
2240
+ -p, --priority=
2241
+ Filter output by message priorities or priority ranges. Takes either a single numeric or textual log level (i.e.
2242
+ between 0/"emerg" and 7/"debug"), or a range of numeric/text log levels in the form FROM..TO. The log levels are the
2243
+ usual syslog log levels as documented in syslog(3), i.e. "emerg" (0), "alert" (1), "crit" (2), "err" (3), "warning"
2244
+ (4), "notice" (5), "info" (6), "debug" (7). If a single log level is specified, all messages with this log level or
2245
+ a lower (hence more important) log level are shown. If a range is specified, all messages within the range are
2246
+ shown, including both the start and the end value of the range. This will add "PRIORITY=" matches for the specified
2247
+ priorities.
2248
+ --facility=
2249
+ Filter output by syslog facility. Takes a comma-separated list of numbers or facility names. The names are the usual
2250
+ syslog facilities as documented in syslog(3). --facility=help may be used to display a list of known facility names
2251
+ and exit.
2252
+ -g, --grep=
2253
+ Filter output to entries where the MESSAGE= field matches the specified regular expression. PERL-compatible regular
2254
+ expressions are used, see pcre2pattern(3) for a detailed description of the syntax. If the pattern is all lowercase,
2255
+ matching is case insensitive. Otherwise, matching is case sensitive. This can be overridden with the
2256
+ --case-sensitive option, see below. When used with --lines= (not prefixed with "+"), --reverse is implied.
2257
+ --case-sensitive[=BOOLEAN]
2258
+ Make pattern matching case sensitive or case insensitive.
2259
+ -k, --dmesg
2260
+ Show only kernel messages. This implies -b and adds the match "_TRANSPORT=kernel".
2251
2261
 
2252
2262
  Output Options
2253
- -o, --output= :: Controls the formatting of the journal entries that are shown. Takes one of the following options:
2254
- short :: is the default and generates an output that is mostly identical to the formatting of classic syslog files,
2255
- showing one line per journal entry.
2256
- short-full :: is very similar, but shows timestamps in the format the --since= and --until= options accept. Unlike the
2257
- timestamp information shown in short output mode this mode includes weekday, year and timezone
2258
- information in the output, and is locale-independent.
2259
- short-iso :: is very similar, but shows timestamps in the RFC 3339 profile of ISO 8601.
2260
- short-iso-precise :: as for short-iso but includes full microsecond precision.
2261
- short-precise :: is very similar, but shows classic syslog timestamps with full microsecond precision.
2262
- short-monotonic :: is very similar, but shows monotonic timestamps instead of wallclock timestamps.
2263
- short-delta :: as for short-monotonic but includes the time difference to the previous entry. Maybe unreliable time
2264
- differences are marked by a "*".
2265
- short-unix :: is very similar, but shows seconds passed since January 1st 1970 UTC instead of wallclock timestamps
2266
- ("UNIX time"). The time is shown with microsecond accuracy.
2267
- verbose :: shows the full-structured entry items with all fields.
2268
- export :: serializes the journal into a binary (but mostly text-based) stream suitable for backups and network
2263
+ -o, --output=
2264
+ Controls the formatting of the journal entries that are shown. Takes one of the following options:
2265
+ short
2266
+ is the default and generates an output that is mostly identical to the formatting of classic syslog files,
2267
+ showing one line per journal entry.
2268
+ short-full
2269
+ is very similar, but shows timestamps in the format the --since= and --until= options accept. Unlike the
2270
+ timestamp information shown in short output mode this mode includes weekday, year and timezone information
2271
+ in the output, and is locale-independent.
2272
+ short-iso
2273
+ is very similar, but shows timestamps in the RFC 3339 profile of ISO 8601.
2274
+ short-iso-precise
2275
+ as for short-iso but includes full microsecond precision.
2276
+ short-precise
2277
+ is very similar, but shows classic syslog timestamps with full microsecond precision.
2278
+ short-monotonic
2279
+ is very similar, but shows monotonic timestamps instead of wallclock timestamps.
2280
+ short-delta
2281
+ as for short-monotonic but includes the time difference to the previous entry. Maybe unreliable time
2282
+ differences are marked by a "*".
2283
+ short-unix
2284
+ is very similar, but shows seconds passed since January 1st 1970 UTC instead of wallclock timestamps ("UNIX
2285
+ time"). The time is shown with microsecond accuracy.
2286
+ verbose
2287
+ shows the full-structured entry items with all fields.
2288
+ export
2289
+ serializes the journal into a binary (but mostly text-based) stream suitable for backups and network
2269
2290
  transfer (see Journal Export Format for more information). To import the binary stream back into native
2270
2291
  journald format use systemd-journal-remote(8).
2271
- json :: formats entries as JSON objects, separated by newline characters (see Journal JSON Format for more
2272
- information). Field values are generally encoded as JSON strings, with three exceptions: Fields larger than
2273
- 4096 bytes are encoded as null values. (This may be turned off by passing --all, but be aware that this may
2274
- allocate overly long JSON objects.) Journal entries permit non-unique fields within the same log entry. JSON
2275
- does not allow non-unique fields within objects. Due to this, if a non-unique field is encountered a JSON
2276
- array is used as field value, listing all field values as elements. Fields containing non-printable or
2277
- non-UTF8 bytes are encoded as arrays containing the raw bytes individually formatted as unsigned numbers. Note
2278
- that this encoding is reversible (with the exception of the size limit).
2279
- json-pretty :: formats entries as JSON data structures, but formats them in multiple lines in order to make them more
2280
- readable by humans.
2281
- json-sse :: formats entries as JSON data structures, but wraps them in a format suitable for Server-Sent Events.
2282
- json-seq :: formats entries as JSON data structures, but prefixes them with an ASCII Record Separator character (0x1E)
2283
- and suffixes them with an ASCII Line Feed character (0x0A), in accordance with JavaScript Object Notation
2284
- (JSON) Text Sequences ("application/json-seq").
2285
- cat :: generates a very terse output, only showing the actual message of each journal entry with no metadata, not even
2286
- a timestamp. If combined with the --output-fields= option will output the listed fields for each log record,
2287
- instead of the message.
2288
- with-unit :: similar to short-full, but prefixes the unit and user unit names instead of the traditional syslog
2289
- identifier. Useful when using templated instances, as it will include the arguments in the unit names.
2290
- --truncate-newline :: Truncate each log message at the first newline character on output, so that only the first line of
2291
- each message is displayed.
2292
- --output-fields= :: A comma separated list of the fields which should be included in the output. This has an effect only
2293
- for the output modes which would normally show all fields (verbose, export, json, json-pretty,
2294
- json-sse and json-seq), as well as on cat. For the former, the "__CURSOR", "__REALTIME_TIMESTAMP",
2295
- "__MONOTONIC_TIMESTAMP", and "_BOOT_ID" fields are always printed.
2296
- -n, --lines= :: Show the most recent journal events and limit the number of events shown. The argument is a positive
2297
- integer or "all" to disable the limit. Additionally, if the number is prefixed with "+", the oldest
2298
- journal events are used instead. The default value is 10 if no argument is given. If --follow is used,
2299
- this option is implied. When not prefixed with "+" and used with --grep=, --reverse is implied.
2300
- -r, --reverse :: Reverse output so that the newest entries are displayed first.
2301
- --show-cursor :: The cursor is shown after the last entry after two dashes:
2302
- -- cursor: s=0639… :: The format of the cursor is private and subject to change.
2303
- --utc :: Express time in Coordinated Universal Time (UTC).
2304
- -x, --catalog :: Augment log lines with explanation texts from the message catalog. This will add explanatory help texts
2305
- to log messages in the output where this is available. These short help texts will explain the context
2306
- of an error or log event, possible solutions, as well as pointers to support forums, developer
2307
- documentation, and any other relevant manuals. Note that help texts are not available for all messages,
2308
- but only for selected ones. For more information on the message catalog, see Journal Message Catalogs.
2309
- Note: when attaching journalctl output to bug reports, please do not use -x.
2310
- --no-hostname :: Don't show the hostname field of log messages originating from the local host. This switch has an
2311
- effect only on the short family of output modes (see above). Note: this option does not remove
2312
- occurrences of the hostname from log entries themselves, so it does not prevent the hostname from being
2313
- visible in the logs.
2314
- --no-full, --full, -l :: Ellipsize fields when they do not fit in available columns. The default is to show full fields,
2315
- allowing them to wrap or be truncated by the pager, if one is used. The old options -l/--full
2316
- are not useful anymore, except to undo --no-full.
2317
- -a, --all :: Show all fields in full, even if they include unprintable characters or are very long. By default, fields
2318
- with unprintable characters are abbreviated as "blob data". (Note that the pager may escape unprintable
2319
- characters again.)
2320
- -f, --follow :: Show only the most recent journal entries, and continuously print new entries as they are appended to
2321
- the journal.
2322
- --no-tail :: Show all stored output lines, even in follow mode. Undoes the effect of --lines=.
2323
- -q, --quiet :: Suppresses all informational messages (i.e. "-- Journal begins at …", "-- Reboot --"), any warning
2324
- messages regarding inaccessible system journals when run as a normal user.
2292
+ json
2293
+ formats entries as JSON objects, separated by newline characters (see Journal JSON Format for more
2294
+ information). Field values are generally encoded as JSON strings, with three exceptions: Fields larger than
2295
+ 4096 bytes are encoded as null values. (This may be turned off by passing --all, but be aware that this may
2296
+ allocate overly long JSON objects.) Journal entries permit non-unique fields within the same log entry. JSON
2297
+ does not allow non-unique fields within objects. Due to this, if a non-unique field is encountered a JSON
2298
+ array is used as field value, listing all field values as elements. Fields containing non-printable or
2299
+ non-UTF8 bytes are encoded as arrays containing the raw bytes individually formatted as unsigned numbers.
2300
+ Note that this encoding is reversible (with the exception of the size limit).
2301
+ json-pretty
2302
+ formats entries as JSON data structures, but formats them in multiple lines in order to make them more
2303
+ readable by humans.
2304
+ json-sse
2305
+ formats entries as JSON data structures, but wraps them in a format suitable for Server-Sent Events.
2306
+ json-seq
2307
+ formats entries as JSON data structures, but prefixes them with an ASCII Record Separator character (0x1E)
2308
+ and suffixes them with an ASCII Line Feed character (0x0A), in accordance with JavaScript Object Notation
2309
+ (JSON) Text Sequences ("application/json-seq").
2310
+ cat
2311
+ generates a very terse output, only showing the actual message of each journal entry with no metadata, not
2312
+ even a timestamp. If combined with the --output-fields= option will output the listed fields for each log
2313
+ record, instead of the message.
2314
+ with-unit
2315
+ similar to short-full, but prefixes the unit and user unit names instead of the traditional syslog
2316
+ identifier. Useful when using templated instances, as it will include the arguments in the unit names.
2317
+ --truncate-newline
2318
+ Truncate each log message at the first newline character on output, so that only the first line of each message is
2319
+ displayed.
2320
+ --output-fields=
2321
+ A comma separated list of the fields which should be included in the output. This has an effect only for the output
2322
+ modes which would normally show all fields (verbose, export, json, json-pretty, json-sse and json-seq), as well as
2323
+ on cat. For the former, the "__CURSOR", "__REALTIME_TIMESTAMP", "__MONOTONIC_TIMESTAMP", and "_BOOT_ID" fields are
2324
+ always printed.
2325
+ -n, --lines=
2326
+ Show the most recent journal events and limit the number of events shown. The argument is a positive integer or
2327
+ "all" to disable the limit. Additionally, if the number is prefixed with "+", the oldest journal events are used
2328
+ instead. The default value is 10 if no argument is given. If --follow is used, this option is implied. When not
2329
+ prefixed with "+" and used with --grep=, --reverse is implied.
2330
+ -r, --reverse
2331
+ Reverse output so that the newest entries are displayed first.
2332
+ --show-cursor
2333
+ The cursor is shown after the last entry after two dashes:
2334
+ -- cursor: s=0639…
2335
+ The format of the cursor is private and subject to change.
2336
+ --utc
2337
+ Express time in Coordinated Universal Time (UTC).
2338
+ -x, --catalog
2339
+ Augment log lines with explanation texts from the message catalog. This will add explanatory help texts to log
2340
+ messages in the output where this is available. These short help texts will explain the context of an error or log
2341
+ event, possible solutions, as well as pointers to support forums, developer documentation, and any other relevant
2342
+ manuals. Note that help texts are not available for all messages, but only for selected ones. For more information
2343
+ on the message catalog, see Journal Message Catalogs. Note: when attaching journalctl output to bug reports, please
2344
+ do not use -x.
2345
+ --no-hostname
2346
+ Don't show the hostname field of log messages originating from the local host. This switch has an effect only on the
2347
+ short family of output modes (see above). Note: this option does not remove occurrences of the hostname from log
2348
+ entries themselves, so it does not prevent the hostname from being visible in the logs.
2349
+ --no-full, --full, -l
2350
+ Ellipsize fields when they do not fit in available columns. The default is to show full fields, allowing them to
2351
+ wrap or be truncated by the pager, if one is used. The old options -l/--full are not useful anymore, except to undo
2352
+ --no-full.
2353
+ -a, --all
2354
+ Show all fields in full, even if they include unprintable characters or are very long. By default, fields with
2355
+ unprintable characters are abbreviated as "blob data". (Note that the pager may escape unprintable characters
2356
+ again.)
2357
+ -f, --follow
2358
+ Show only the most recent journal entries, and continuously print new entries as they are appended to the journal.
2359
+ --no-tail
2360
+ Show all stored output lines, even in follow mode. Undoes the effect of --lines=.
2361
+ -q, --quiet
2362
+ Suppresses all informational messages (i.e. "-- Journal begins at …", "-- Reboot --"), any warning messages
2363
+ regarding inaccessible system journals when run as a normal user.
2325
2364
 
2326
2365
  Pager Control Options
2327
- --no-pager :: Do not pipe output into a pager.
2328
- -e, --pager-end :: Immediately jump to the end of the journal inside the implied pager tool. This implies -n1000 to
2329
- guarantee that the pager will not buffer logs of unbounded size. This may be overridden with an
2330
- explicit -n with some other numeric value, while -nall will disable this cap. Note that this option
2331
- is only supported for the less(1) pager.
2366
+ --no-pager
2367
+ Do not pipe output into a pager.
2368
+ -e, --pager-end
2369
+ Immediately jump to the end of the journal inside the implied pager tool. This implies -n1000 to guarantee that the
2370
+ pager will not buffer logs of unbounded size. This may be overridden with an explicit -n with some other numeric
2371
+ value, while -nall will disable this cap. Note that this option is only supported for the less(1) pager.
2332
2372
 
2333
2373
  Forward Secure Sealing (FSS) Options
2334
- --interval= :: Specifies the change interval for the sealing key when generating an FSS key pair with --setup-keys.
2335
- Shorter intervals increase CPU consumption but shorten the time range of undetectable journal
2336
- alterations. Defaults to 15min.
2337
- --verify-key= :: Specifies the FSS verification key to use for the --verify operation.
2338
- --force :: When --setup-keys is passed and Forward Secure Sealing (FSS) has already been configured, recreate FSS keys.
2374
+ --interval=
2375
+ Specifies the change interval for the sealing key when generating an FSS key pair with --setup-keys. Shorter
2376
+ intervals increase CPU consumption but shorten the time range of undetectable journal alterations. Defaults to
2377
+ 15min.
2378
+ --verify-key=
2379
+ Specifies the FSS verification key to use for the --verify operation.
2380
+ --force
2381
+ When --setup-keys is passed and Forward Secure Sealing (FSS) has already been configured, recreate FSS keys.
2339
2382
 
2340
2383
  Commands
2341
- -N, --fields :: Print all field names currently used in all entries of the journal.
2342
- -F, --field= :: Print all possible data values the specified field can take in all entries of the journal.
2343
- --list-boots :: Show a tabular list of boot numbers (relative to the current boot), their IDs, and the timestamps of the
2344
- first and last message pertaining to the boot. When specified with -n/--lines=[+]N option, only the
2345
- first (when the number prefixed with "+") or the last (without prefix) N entries will be shown. When
2346
- specified with -r/--reverse, the list will be shown in the reverse order.
2347
- --disk-usage :: Shows the current disk usage of all journal files. This shows the sum of the disk usage of all archived
2348
- and active journal files.
2384
+ -N, --fields
2385
+ Print all field names currently used in all entries of the journal.
2386
+ -F, --field=
2387
+ Print all possible data values the specified field can take in all entries of the journal.
2388
+ --list-boots
2389
+ Show a tabular list of boot numbers (relative to the current boot), their IDs, and the timestamps of the first and
2390
+ last message pertaining to the boot. When specified with -n/--lines=[+]N option, only the first (when the number
2391
+ prefixed with "+") or the last (without prefix) N entries will be shown. When specified with -r/--reverse, the list
2392
+ will be shown in the reverse order.
2393
+ --disk-usage
2394
+ Shows the current disk usage of all journal files. This shows the sum of the disk usage of all archived and active
2395
+ journal files.
2349
2396
  --vacuum-size=, --vacuum-time=, --vacuum-files=
2350
- --vacuum-size= :: removes the oldest archived journal files until the disk space they use falls below the specified
2351
- size. Accepts the usual "K", "M", "G" and "T" suffixes (to the base of 1024).
2352
- --vacuum-time= :: removes archived journal files older than the specified timespan. Accepts the usual "s" (default),
2353
- "m", "h", "days", "weeks", "months", and "years" suffixes, see systemd.time(7) for details.
2354
- --vacuum-files= :: leaves only the specified number of separate journal files.
2355
- Note that running --vacuum-size= has only an indirect effect on the output shown by --disk-usage, as the latter
2356
- includes active journal files, while the vacuuming operation only operates on archived journal files. Similarly,
2357
- --vacuum-files= might not actually reduce the number of journal files to below the specified number, as it will not
2358
- remove active journal files.
2359
- --vacuum-size=, --vacuum-time= and --vacuum-files= may be combined in a single invocation to enforce any combination
2360
- of a size, a time and a number of files limit on the archived journal files. Specifying any of these three parameters
2361
- as zero is equivalent to not enforcing the specific limit, and is thus redundant.
2362
- These three switches may also be combined with --rotate into one command. If so, all active files are rotated first,
2363
- and the requested vacuuming operation is executed right after. The rotation has the effect that all currently active
2364
- files are archived (and potentially new, empty journal files opened as replacement), and hence the vacuuming operation
2365
- has the greatest effect as it can take all log data written so far into account.
2366
- --verify :: Check the journal file for internal consistency. If the file has been generated with FSS enabled and the FSS
2367
- verification key has been specified with --verify-key=, authenticity of the journal file is verified.
2368
- --sync :: Asks the journal daemon to write all yet unwritten journal data to the backing file system and synchronize all
2369
- journals. This call does not return until the synchronization operation is complete. This command guarantees
2370
- that any log messages written before its invocation are safely stored on disk at the time it returns.
2371
- --relinquish-var :: Asks the journal daemon for the reverse operation to --flush: if requested the daemon will write
2372
- further log data to /run/log/journal/ and stops writing to /var/log/journal/. A subsequent call to
2373
- --flush causes the log output to switch back to /var/log/journal/, see above.
2374
- --smart-relinquish-var :: Similar to --relinquish-var, but executes no operation if the root file system and
2375
- /var/log/journal/ reside on the same mount point. This operation is used during system
2376
- shutdown in order to make the journal daemon stop writing data to /var/log/journal/ in case
2377
- that directory is located on a mount point that needs to be unmounted.
2378
- --flush :: Asks the journal daemon to flush any log data stored in /run/log/journal/ into /var/log/journal/, if
2379
- persistent storage is enabled. This call does not return until the operation is complete. Note that this call
2380
- is idempotent: the data is only flushed from /run/log/journal/ into /var/log/journal/ once during system
2381
- runtime (but see --relinquish-var below), and this command exits cleanly without executing any operation if
2382
- this has already happened. This command effectively guarantees that all data is flushed to /var/log/journal/
2383
- at the time it returns.
2384
- --rotate :: Asks the journal daemon to rotate journal files. This call does not return until the rotation operation is
2385
- complete. Journal file rotation has the effect that all currently active journal files are marked as
2386
- archived and renamed, so that they are never written to in future. New (empty) journal files are then
2387
- created in their place. This operation may be combined with --vacuum-size=, --vacuum-time= and
2388
- --vacuum-file= into a single command, see above.
2389
- --header :: Instead of showing journal contents, show internal header information of the journal fields accessed. This
2390
- option is particularly useful when trying to identify out-of-order journal entries, as happens for example
2391
- when the machine is booted with the wrong system time.
2392
- --list-catalog [128-bit-ID…] :: List the contents of the message catalog as a table of message IDs, plus their short
2393
- description strings. If any 128-bit-IDs are specified, only those entries are shown.
2394
- --dump-catalog [128-bit-ID…] :: Show the contents of the message catalog, with entries separated by a line consisting of
2395
- two dashes and the ID (the format is the same as .catalog files). If any 128-bit-IDs are
2396
- specified, only those entries are shown.
2397
- --update-catalog :: Update the message catalog index. This command needs to be executed each time new catalog files are
2398
- installed, removed, or updated to rebuild the binary catalog index.
2399
- --setup-keys :: Instead of showing journal contents, generate a new key pair for Forward Secure Sealing (FSS). This will
2400
- generate a sealing key and a verification key. The sealing key is stored in the journal data directory
2401
- and shall remain on the host. The verification key should be stored externally. Refer to the Seal=
2402
- option in journald.conf(5) for information on Forward Secure Sealing and for a link to a refereed
2403
- scholarly paper detailing the cryptographic theory it is based on.
2404
- -h, --help :: Print a short help text and exit.
2405
- --version :: Print a short version string and exit.
2397
+ --vacuum-size=
2398
+ removes the oldest archived journal files until the disk space they use falls below the specified size. Accepts
2399
+ the usual "K", "M", "G" and "T" suffixes (to the base of 1024).
2400
+ --vacuum-time=
2401
+ removes archived journal files older than the specified timespan. Accepts the usual "s" (default), "m", "h",
2402
+ "days", "weeks", "months", and "years" suffixes, see systemd.time(7) for details.
2403
+ --vacuum-files=
2404
+ leaves only the specified number of separate journal files. Note that running --vacuum-size= has only an
2405
+ indirect effect on the output shown by --disk-usage, as the latter includes active journal files, while the
2406
+ vacuuming operation only operates on archived journal files. Similarly,
2407
+ --vacuum-files= might not actually reduce the number of journal files to below the specified number, as it will not
2408
+ remove active journal files.
2409
+ --vacuum-size=, --vacuum-time= and --vacuum-files= may be combined in a single invocation to enforce any combination
2410
+ of a size, a time and a number of files limit on the archived journal files. Specifying any of these three
2411
+ parameters as zero is equivalent to not enforcing the specific limit, and is thus redundant.
2412
+ These three switches may also be combined with --rotate into one command. If so, all active files are rotated first,
2413
+ and the requested vacuuming operation is executed right after. The rotation has the effect that all currently active
2414
+ files are archived (and potentially new, empty journal files opened as replacement), and hence the vacuuming
2415
+ operation has the greatest effect as it can take all log data written so far into account.
2416
+ --verify
2417
+ Check the journal file for internal consistency. If the file has been generated with FSS enabled and the FSS
2418
+ verification key has been specified with --verify-key=, authenticity of the journal file is verified.
2419
+ --sync
2420
+ Asks the journal daemon to write all yet unwritten journal data to the backing file system and synchronize all
2421
+ journals. This call does not return until the synchronization operation is complete. This command guarantees that
2422
+ any log messages written before its invocation are safely stored on disk at the time it returns.
2423
+ --relinquish-var
2424
+ Asks the journal daemon for the reverse operation to --flush: if requested the daemon will write further log data to
2425
+ /run/log/journal/ and stops writing to /var/log/journal/. A subsequent call to --flush causes the log output to
2426
+ switch back to /var/log/journal/, see above.
2427
+ --smart-relinquish-var
2428
+ Similar to --relinquish-var, but executes no operation if the root file system and /var/log/journal/ reside on the
2429
+ same mount point. This operation is used during system shutdown in order to make the journal daemon stop writing
2430
+ data to /var/log/journal/ in case that directory is located on a mount point that needs to be unmounted.
2431
+ --flush
2432
+ Asks the journal daemon to flush any log data stored in /run/log/journal/ into /var/log/journal/, if persistent
2433
+ storage is enabled. This call does not return until the operation is complete. Note that this call is idempotent:
2434
+ the data is only flushed from /run/log/journal/ into /var/log/journal/ once during system runtime (but see
2435
+ --relinquish-var below), and this command exits cleanly without executing any operation if this has already
2436
+ happened. This command effectively guarantees that all data is flushed to /var/log/journal/ at the time it returns.
2437
+ --rotate
2438
+ Asks the journal daemon to rotate journal files. This call does not return until the rotation operation is complete.
2439
+ Journal file rotation has the effect that all currently active journal files are marked as archived and renamed, so
2440
+ that they are never written to in future. New (empty) journal files are then created in their place. This operation
2441
+ may be combined with --vacuum-size=, --vacuum-time= and --vacuum-file= into a single command, see above.
2442
+ --header
2443
+ Instead of showing journal contents, show internal header information of the journal fields accessed. This option is
2444
+ particularly useful when trying to identify out-of-order journal entries, as happens for example when the machine is
2445
+ booted with the wrong system time.
2446
+ --list-catalog [128-bit-ID…]
2447
+ List the contents of the message catalog as a table of message IDs, plus their short description strings. If any
2448
+ 128-bit-IDs are specified, only those entries are shown.
2449
+ --dump-catalog [128-bit-ID…]
2450
+ Show the contents of the message catalog, with entries separated by a line consisting of two dashes and the ID (the
2451
+ format is the same as .catalog files). If any 128-bit-IDs are specified, only those entries are shown.
2452
+ --update-catalog
2453
+ Update the message catalog index. This command needs to be executed each time new catalog files are installed,
2454
+ removed, or updated to rebuild the binary catalog index.
2455
+ --setup-keys
2456
+ Instead of showing journal contents, generate a new key pair for Forward Secure Sealing (FSS). This will generate a
2457
+ sealing key and a verification key. The sealing key is stored in the journal data directory and shall remain on the
2458
+ host. The verification key should be stored externally. Refer to the Seal= option in journald.conf(5) for
2459
+ information on Forward Secure Sealing and for a link to a refereed scholarly paper detailing the cryptographic
2460
+ theory it is based on.
2461
+ -h, --help
2462
+ Print a short help text and exit.
2463
+ --version
2464
+ Print a short version string and exit.
2406
2465
 
2407
2466
  Environment
2408
- $SYSTEMD_LOG_LEVEL :: The maximum log level of emitted messages (messages with a higher log level, i.e. less important
2409
- ones, will be suppressed). Takes a comma-separated list of values. A value may be either one of
2410
- (in order of decreasing importance) emerg, alert, crit, err, warning, notice, info, debug, or an
2411
- integer in the range 0…7. See syslog(3) for more information. Each value may optionally be
2412
- prefixed with one of console, syslog, kmsg or journal followed by a colon to set the maximum log
2413
- level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies to log at
2414
- debug level except when logging to the console which should be at info level). Note that the
2415
- global maximum log level takes priority over any per target maximum log levels.
2416
- $SYSTEMD_LOG_COLOR :: A boolean. If true, messages written to the tty will be colored according to priority. This
2417
- setting is only useful when messages are written directly to the terminal, because journalctl(1)
2418
- and other tools that display logs will color messages based on the log level on their own.
2419
- $SYSTEMD_LOG_TIME :: A boolean. If true, console log messages will be prefixed with a timestamp. This setting is only
2420
- useful when messages are written directly to the terminal or a file, because journalctl(1) and
2421
- other tools that display logs will attach timestamps based on the entry metadata on their own.
2422
- $SYSTEMD_LOG_LOCATION :: A boolean. If true, messages will be prefixed with a filename and line number in the source
2423
- code where the message originates. Note that the log location is often attached as metadata to
2424
- journal entries anyway. Including it directly in the message text can nevertheless be
2425
- convenient when debugging programs.
2426
- $SYSTEMD_LOG_TID :: A boolean. If true, messages will be prefixed with the current numerical thread ID (TID). Note that
2427
- the this information is attached as metadata to journal entries anyway. Including it directly in the
2428
- message text can nevertheless be convenient when debugging programs.
2429
- $SYSTEMD_LOG_TARGET :: The destination for log messages. One of console (log to the attached tty), console-prefixed (log
2430
- to the attached tty but with prefixes encoding the log level and "facility", see syslog(3), kmsg
2431
- (log to the kernel circular log buffer), journal (log to the journal), journal-or-kmsg (log to
2432
- the journal if available, and to kmsg otherwise), auto (determine the appropriate log target
2433
- automatically, the default), null (disable log output).
2434
- $SYSTEMD_LOG_RATELIMIT_KMSG :: Whether to ratelimit kmsg or not. Takes a boolean. Defaults to "true". If disabled,
2435
- systemd will not ratelimit messages written to kmsg.
2436
- $SYSTEMD_PAGER :: Pager to use when --no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are
2437
- set, a set of well-known pager implementations are tried in turn, including less(1) and more(1), until
2438
- one is found. If no pager implementation is discovered no pager is invoked. Setting this environment
2439
- variable to an empty string or the value "cat" is equivalent to passing --no-pager. Note: if
2440
- $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as $PAGER) will be silently ignored.
2441
- $SYSTEMD_LESS :: Override the options passed to less (by default "FRSXMK"). Users might want to change two options in
2442
- particular:
2443
- K :: This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C itself
2444
- to switch back to the pager command prompt, unset this option. If the value of $SYSTEMD_LESS does not include
2445
- "K", and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to be handled by
2446
- the pager.
2447
- X :: This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal.
2448
- It is set by default to allow command output to remain visible in the terminal even after the pager exits.
2449
- Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled
2450
- with the mouse. Note that setting the regular $LESS environment variable has no effect for less invocations by
2451
- systemd tools.
2452
- $SYSTEMD_LESSCHARSET :: Override the charset passed to less (by default "utf-8", if the invoking terminal is determined
2453
- to be UTF-8 compatible). Note that setting the regular $LESSCHARSET environment variable has no
2454
- effect for less invocations by systemd tools.
2455
- $SYSTEMD_PAGERSECURE :: Takes a boolean argument. When true, the "secure" mode of the pager is enabled; if false,
2456
- disabled. If $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID
2457
- is not the same as the owner of the login session, see geteuid(2) and sd_pid_get_owner_uid(3).
2458
- In secure mode, LESSSECURE=1 will be set when invoking the pager, and the pager shall disable
2459
- commands that open or create new files or start new subprocesses. When $SYSTEMD_PAGERSECURE is
2460
- not set at all, pagers which are not known to implement secure mode will not be used. (Currently
2461
- only less(1) implements secure mode.) Note: when commands are invoked with elevated privileges,
2462
- for example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive
2463
- features are not enabled. "Secure" mode for the pager may be enabled automatically as describe
2464
- above. Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited environment allows
2465
- the user to invoke arbitrary commands. Note that if the $SYSTEMD_PAGER or $PAGER variables are
2466
- to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to completely
2467
- disable the pager using --no-pager instead.
2468
- $SYSTEMD_COLORS :: Takes a boolean argument. When true, systemd and related utilities will use colors in their output,
2469
- otherwise the output will be monochrome. Additionally, the variable can take one of the following
2470
- special values: "16", "256" to restrict the use of colors to the base 16 or 256 ANSI colors,
2471
- respectively. This can be specified to override the automatic decision based on $TERM and what the
2472
- console is connected to.
2473
- $SYSTEMD_URLIFY :: The value must be a boolean. Controls whether clickable links should be generated in the output for
2474
- terminal emulators supporting this. This can be specified to override the decision that systemd makes
2475
- based on $TERM and other conditions.
2467
+ $SYSTEMD_LOG_LEVEL
2468
+ The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be
2469
+ suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing
2470
+ importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for
2471
+ more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a
2472
+ colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies
2473
+ to log at debug level except when logging to the console which should be at info level). Note that the global
2474
+ maximum log level takes priority over any per target maximum log levels.
2475
+ $SYSTEMD_LOG_COLOR
2476
+ A boolean. If true, messages written to the tty will be colored according to priority. This setting is only useful
2477
+ when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will
2478
+ color messages based on the log level on their own.
2479
+ $SYSTEMD_LOG_TIME
2480
+ A boolean. If true, console log messages will be prefixed with a timestamp. This setting is only useful when
2481
+ messages are written directly to the terminal or a file, because journalctl(1) and other tools that display logs
2482
+ will attach timestamps based on the entry metadata on their own.
2483
+ $SYSTEMD_LOG_LOCATION
2484
+ A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message
2485
+ originates. Note that the log location is often attached as metadata to journal entries anyway. Including it
2486
+ directly in the message text can nevertheless be convenient when debugging programs.
2487
+ $SYSTEMD_LOG_TID
2488
+ A boolean. If true, messages will be prefixed with the current numerical thread ID (TID). Note that the this
2489
+ information is attached as metadata to journal entries anyway. Including it directly in the message text can
2490
+ nevertheless be convenient when debugging programs.
2491
+ $SYSTEMD_LOG_TARGET
2492
+ The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached
2493
+ tty but with prefixes encoding the log level and "facility", see syslog(3), kmsg (log to the kernel circular log
2494
+ buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise),
2495
+ auto (determine the appropriate log target automatically, the default), null (disable log output).
2496
+ $SYSTEMD_LOG_RATELIMIT_KMSG
2497
+ Whether to ratelimit kmsg or not. Takes a boolean. Defaults to "true". If disabled, systemd will not ratelimit
2498
+ messages written to kmsg.
2499
+ $SYSTEMD_PAGER
2500
+ Pager to use when --no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of
2501
+ well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager
2502
+ implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value
2503
+ "cat" is equivalent to passing --no-pager. Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as
2504
+ $PAGER) will be silently ignored.
2505
+ $SYSTEMD_LESS
2506
+ Override the options passed to less (by default "FRSXMK"). Users might want to change two options in particular:
2507
+ K
2508
+ This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C
2509
+ itself to switch back to the pager command prompt, unset this option. If the value of $SYSTEMD_LESS does not
2510
+ include "K", and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to
2511
+ be handled by the pager.
2512
+ X
2513
+ This option instructs the pager to not send termcap initialization and deinitialization strings to the
2514
+ terminal. It is set by default to allow command output to remain visible in the terminal even after the
2515
+ pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output
2516
+ cannot be scrolled with the mouse. Note that setting the regular $LESS environment variable has no effect
2517
+ for less invocations by systemd tools.
2518
+ $SYSTEMD_LESSCHARSET
2519
+ Override the charset passed to less (by default "utf-8", if the invoking terminal is determined to be UTF-8
2520
+ compatible). Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by
2521
+ systemd tools.
2522
+ $SYSTEMD_PAGERSECURE
2523
+ Takes a boolean argument. When true, the "secure" mode of the pager is enabled; if false, disabled. If
2524
+ $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of
2525
+ the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when
2526
+ invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses.
2527
+ When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used.
2528
+ (Currently only less(1) implements secure mode.) Note: when commands are invoked with elevated privileges, for
2529
+ example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not
2530
+ enabled. "Secure" mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0
2531
+ or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the
2532
+ $SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable
2533
+ to completely disable the pager using --no-pager instead.
2534
+ $SYSTEMD_COLORS
2535
+ Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the
2536
+ output will be monochrome. Additionally, the variable can take one of the following special values: "16", "256" to
2537
+ restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the
2538
+ automatic decision based on $TERM and what the console is connected to.
2539
+ $SYSTEMD_URLIFY
2540
+ The value must be a boolean. Controls whether clickable links should be generated in the output for terminal
2541
+ emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and
2542
+ other conditions.
2476
2543
  """
2477
2544
 
2478
2545