This is an extended function of layout_json
function
from 'logger'
package. Objective is to add additional component in the
logging layout in JSON format so that they can also be reported while
logging along with the components collected by
.add_meta_variables
.
Usage
.layout_json_custom(
log_fields = c("time", "level", "ns", "ans", "topenv", "fn", "node", "arch", "os_name",
"os_release", "os_version", "pid", "user", "msg"),
additional_fields = NULL,
enforce_ascii_msg = TRUE,
enforce_tz_utc = TRUE
)
Arguments
- log_fields
Vector of components which are collected in
get_logger_meta_variables
function. Convertingtime
component to UTC additionally.- additional_fields
A named vector of type list with key-value pairs of additional meta data which needs to be added in logging context on top of
log_fields
. The respective value of each key is expected to be of length 1. It isNULL
by default.- enforce_ascii_msg
If
TRUE
(default), the logging message is guaranteed to have all non-ASCII characters escaped. IfFALSE
, the characters will be logged as-is. Please note, it is better to ensure ASCII, otherwise there might be error while sending the HTTP POST request to 'Azure Log Analytics' workspace.- enforce_tz_utc
If
TRUE
(default), the logging time field is converted to UTC timezone while sending the logging dump to 'Azure Log Analytics' workspace. IfFALSE
, then the local time captured bySys.time
is recorded in the time field.
Value
Returns a generator function typically to be used by
log_layout
function.