File: formatter_logging.Rd

package info (click to toggle)
r-cran-logger 0.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,324 kB
  • sloc: sh: 13; makefile: 2
file content (61 lines) | stat: -rw-r--r-- 1,897 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/formatters.R
\name{formatter_logging}
\alias{formatter_logging}
\title{Mimic the default formatter used in the \pkg{logging} package}
\usage{
formatter_logging(
  ...,
  .logcall = sys.call(),
  .topcall = sys.call(-1),
  .topenv = parent.frame()
)
}
\arguments{
\item{...}{string and further params passed to \code{sprintf} or R
expressions to be evaluated}

\item{.logcall}{the logging call being evaluated (useful in
formatters and layouts when you want to have access to the raw,
unevaluated R expression)}

\item{.topcall}{R expression from which the logging function was
called (useful in formatters and layouts to extract the calling
function's name or arguments)}

\item{.topenv}{original frame of the \code{.topcall} calling function
where the formatter function will be evaluated and that is used
to look up the \code{namespace} as well via \code{logger:::top_env_name}}
}
\value{
character vector
}
\description{
The \pkg{logging} package uses a formatter that behaves differently
when the input is a string or other R object. If the first argument
is a string, then \code{\link[=sprintf]{sprintf()}} is being called -- otherwise it does
something like \code{\link[=log_eval]{log_eval()}} and logs the R expression(s) and the
result(s) as well.
}
\examples{
\dontshow{old <- logger:::namespaces_set()}
log_formatter(formatter_logging)
log_info("42")
log_info(42)
log_info(4 + 2)
log_info("foo \%s", "bar")
log_info("vector \%s", 1:3)
log_info(12, 1 + 1, 2 * 2)
\dontshow{logger:::namespaces_set(old)}
}
\seealso{
Other log_formatters: 
\code{\link{formatter_glue}()},
\code{\link{formatter_glue_or_sprintf}()},
\code{\link{formatter_glue_safe}()},
\code{\link{formatter_json}()},
\code{\link{formatter_pander}()},
\code{\link{formatter_paste}()},
\code{\link{formatter_sprintf}()}
}
\concept{log_formatters}