Log to the POSIX system log
AppenderSyslog.Rd
An Appender that writes to the syslog on supported POSIX platforms. Requires the rsyslog package.
Value
The $new()
method returns an R6::R6 that inherits from
lgr::Appender and can be uses as an appender by a lgr::Logger.
Super classes
lgr::Filterable
-> lgr::Appender
-> AppenderSyslog
Public fields
syslog_levels.
Either a named
character
vector or afunction
mapping lgr lgr::log_levels to rsyslog log levels. See$set_syslog_levels()
.
Active bindings
identifier
character
scalar. A string identifying the process; ifNULL
defaults to the logger namesyslog_levels.
Either a named
character
vector or afunction
mapping lgr lgr::log_levels to rsyslog log levels. See$set_syslog_levels()
.
Methods
Method new()
Usage
AppenderSyslog$new(
identifier = NULL,
threshold = NA_integer_,
layout = LayoutFormat$new("%m"),
filters = NULL,
syslog_levels = c(CRITICAL = "fatal", ERR = "error", WARNING = "warn", INFO = "info",
DEBUG = "debug", DEBUG = "trace")
)
Method append()
Method set_syslog_levels()
Define conversion between lgr and syslog log levels
Arguments
x
a named
character
vector mapping whose names are log levels as understood byrsyslog::syslog()
and whose values are lgr log levels (eithercharacter
ornumeric
)a
function
that takes a vector of lgr log levels as input and returns acharacter
vector of log levels forrsyslog::syslog()
.
Examples
if (requireNamespace("rsyslog", quietly = TRUE) && Sys.info()[["sysname"]] == "Linux") {
lg <- lgr::get_logger("rsyslog/test")
lg$add_appender(AppenderSyslog$new(), "syslog")
lg$info("A test message")
print(system("journalctl -t 'rsyslog/test'"))
invisible(lg$config(NULL)) # cleanup
}
#> INFO [12:24:47.751] A test message
#> [1] 0