mirror of
https://github.com/systemd/systemd.git
synced 2024-11-07 18:27:04 +03:00
ec20fe5ffb
This adds a new setting LineMax= to journald.conf, and sets it by default to 48K. When we convert stream-based stdout/stderr logging into record-based log entries, read up to the specified amount of bytes before forcing a line-break. This also makes three related changes: - When a NUL byte is read we'll not recognize this as alternative line break, instead of silently dropping everything after it. (see #4863) - The reason for a line-break is now encoded in the log record, if it wasn't a plain newline. Specifically, we distuingish "nul", "line-max" and "eof", for line breaks due to NUL byte, due to the maximum line length as configured with LineMax= or due to end of stream. This data is stored in the new implicit _LINE_BREAK= field. It's not synthesized for plain \n line breaks. - A randomized 128bit ID is assigned to each log stream. With these three changes in place it's (mostly) possible to reconstruct the original byte streams from log data, as (most) of the context of the conversion from the byte stream to log records is saved now. (So, the only bits we still drop are empty lines. Which might be something to look into in a future change, and which is outside of the scope of this work) Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=86465 See: #4863 Replaces: #4875
43 lines
1.0 KiB
Plaintext
43 lines
1.0 KiB
Plaintext
# This file is part of systemd.
|
|
#
|
|
# systemd is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU Lesser General Public License as published by
|
|
# the Free Software Foundation; either version 2.1 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Entries in this file show the compile time defaults.
|
|
# You can change settings by editing this file.
|
|
# Defaults can be restored by simply deleting this file.
|
|
#
|
|
# See journald.conf(5) for details.
|
|
|
|
[Journal]
|
|
#Storage=auto
|
|
#Compress=yes
|
|
#Seal=yes
|
|
#SplitMode=uid
|
|
#SyncIntervalSec=5m
|
|
#RateLimitIntervalSec=30s
|
|
#RateLimitBurst=1000
|
|
#SystemMaxUse=
|
|
#SystemKeepFree=
|
|
#SystemMaxFileSize=
|
|
#SystemMaxFiles=100
|
|
#RuntimeMaxUse=
|
|
#RuntimeKeepFree=
|
|
#RuntimeMaxFileSize=
|
|
#RuntimeMaxFiles=100
|
|
#MaxRetentionSec=
|
|
#MaxFileSec=1month
|
|
#ForwardToSyslog=no
|
|
#ForwardToKMsg=no
|
|
#ForwardToConsole=no
|
|
#ForwardToWall=yes
|
|
#TTYPath=/dev/console
|
|
#MaxLevelStore=debug
|
|
#MaxLevelSyslog=debug
|
|
#MaxLevelKMsg=notice
|
|
#MaxLevelConsole=info
|
|
#MaxLevelWall=emerg
|
|
#LineMax=48K
|