A quick and easy way to configure the root logger. This is less powerful
then using lgr$config()
or lgr$set_*()
(see Logger), but reduces the
most common configurations to a single line of code.
basic_config(
file = NULL,
fmt = "%L [%t] %m",
timestamp_fmt = "%Y-%m-%d %H:%M:%OS3",
threshold = "info",
appenders = NULL,
console = if (is.null(appenders)) "all" else FALSE,
console_fmt = "%L [%t] %m %f",
console_timestamp_fmt = "%H:%M:%OS3",
console_connection = NULL,
memory = FALSE
)
character
scalar: If not NULL
a AppenderFile will be
created that logs to this file. If the filename ends in .jsonl
, the
Appender will be set up to use the JSON Lines
format instead of plain text (see AppenderFile and AppenderJson).
character
scalar: Format to use if file
is supplied and not a
.jsonl
file. If NULL
it defaults to "%L [%t] %m"
(see
format.LogEvent)
see format.POSIXct()
character
or integer
scalar. The minimum log level that should be processed by the root logger.
a single Appender or a list thereof.
logical
scalar or a threshold
(see above). Add an appender
logs to the console (i.e. displays messages in an interactive R session)
character
scalar: like fmt
but used for console output
character
scalar: like timestamp_fmt
but
used for console output
see cat()
file
argument.
logical
scalar. or a threshold
(see above). Add an Appender
that logs to a memory buffer, see also show_log()
and AppenderBuffer
the root
Logger (lgr)
# log to a file
basic_config(file = tempfile())
#> <LoggerRoot> [info] root
#>
#> appenders:
#> file : <AppenderFile> [all] -> /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T//RtmpvEKGln/fileffb3e682f73
#> console: <AppenderConsole> [all] -> console
unlink(lgr$appenders$file$file) # cleanup
basic_config(file = tempfile(fileext = "jsonl"))
#> <LoggerRoot> [info] root
#>
#> appenders:
#> file : <AppenderFile> [all] -> /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T//RtmpvEKGln/fileffb2a034707jsonl
#> console: <AppenderConsole> [all] -> console
unlink(lgr$appenders$file$file) # cleanup
# log debug messages to a memory buffer
basic_config(threshold = "all", memory = "all", console = "info")
#> <LoggerRoot> [all] root
#>
#> appenders:
#> console: <AppenderConsole> [info] -> console
#> memory : <AppenderBuffer> [ all] -> 0 child Appenders
lgr$info("an info message")
#> INFO [20:04:37.091] an info message
lgr$debug("a hidden message")
show_log()
#> INFO [20:04:37] an info message
#> DEBUG [20:04:37] a hidden message
# reset to default config
basic_config()
#> <LoggerRoot> [info] root
#>
#> appenders:
#> console: <AppenderConsole> [all] -> console