Learn R Programming

lgr (version 0.3.4)

print.LogEvent: Print or Format Logging Data

Description

Print or Format Logging Data

Usage

# S3 method for LogEvent
print(x, fmt = "%L [%t] %m  %f",
  timestamp_fmt = "%Y-%m-%d %H:%M:%S",
  colors = getOption("lgr.colors"),
  log_levels = getOption("lgr.log_levels"), pad_levels = "right", ...)

# S3 method for LogEvent format(x, fmt = "%L [%t] %m %f", timestamp_fmt = "%Y-%m-%d %H:%M:%S", colors = NULL, log_levels = getOption("lgr.log_levels"), pad_levels = "right", ...)

Arguments

x

a LogEvent or lgr_data Object

fmt

A character scalar that may contain any of the tokens listed bellow in the section Format Tokens.

timestamp_fmt
colors

A list of functions that will be used to color the log levels (likely from crayon::crayon).

log_levels

a named integer vector of log levels.

pad_levels

right, left or NULL. Whether or not to pad the log level names to the same width on the left or right side, or not at all.

...

ignored

Value

x for print() and a character scalar for format()

Format Tokens

%t

The timestamp of the message, formatted according to timestamp_fmt)

%l

the log level, lowercase character representation

%L

the log level, uppercase character representation

%k

the log level, first letter of lowercase character representation

%K

the log level, first letter of uppercase character representation

%n

the log level, integer representation

%p

the PID (process ID). Useful when logging code that uses multiple threads.

%c

the calling function

%m

the log message

%f

all custom fields of x in a pseudo-JSON like format that is optimized for human readability and console output

%j

all custom fields of x in proper JSON. This requires that you have jsonlite installed and does not support colors as opposed to %f

Examples

Run this code
# NOT RUN {
# standard fields can be printed using special tokens
x <- LogEvent$new(
  level = 300, msg = "a test event", caller = "testfun()", logger = lgr
)
print(x)
print(x, fmt = c("%t (%p) %c: %n - %m"))
print(x, colors = NULL)

# custom values
y <- LogEvent$new(
  level = 300, msg = "a gps track", logger = lgr,
  waypoints = 10, location = "Austria"
)

# default output with %f
print(y)

# proper JSON output with %j
if (requireNamespace("jsonlite")){
print(y, fmt = "%L [%t] %m  %j")
}

# }

Run the code above in your browser using DataLab