logfmt_log_layout()
would not
correctly handle memory reallocation of the underlying buffer.Fixes a crash when the logfmt_log_layout()
is passed
long fields that also need escaping.
logfmt_log_layout()
now drops fields with missing
names rather than writing NA
, which matches the existing
handling of other empty/unrepresentable field names.
Support for structured logging by passing additional named parameters to the existing logging functions. This includes two new structured-logging layouts for JSON and logfmt and a vignette on using them: “Structured Logging”.
New built-in appenders for writing to the Unix system log, via HTTP, and to TCP connections, plus a vignette on using them: “Logging Beyond Local Files”.
A new bare_log_layout()
for when you don’t want the
level or timestamp handled automatically. This is most useful for the
syslog_appender()
.
Log messages prior to the last entry are no longer lost when a
file appender is created with append = FALSE
. Instead, the
file is truncated only when the appender is created, as intended. Fixes
#17.
default_log_layout()
would not
validate format strings correctly.?logger
, ?appenders
, and
?layouts
for details."loglevel"
, access
to the hidden constants, e.g., log4r:::DEBUG
, is deprecated
(#4).