The syntax of an explicit logging
...
expression is:
Code Block | ||||
---|---|---|---|---|
| ||||
<expr>.klog(<message>) |
where where <expr>
is any valid any valid KRL expression. The expression is returned, and <message>
results something like the following is added to the console log (and the "Logging" tab of the UI if enabled):
Code Block | ||||
---|---|---|---|---|
| ||||
[KLOG] <message> <expr converted to a string> |
The syntax of an explicit logging statement in the postlude is:
Code Block | ||||
---|---|---|---|---|
| ||||
log <level> <expr> |
where <level>
is one of info
, warn
, error
, or debug
; and <expr>
is any valid KRL expression that results in a string (or something that can be cast as a string such as a number). Explicit logging places statements also place the log message in two places:
...
the console
...
log, and the "Logging" tab of the UI if
...
enabled.
The following example would place a string with the value of a variable named query
in the log if the rule should firefired:
Code Block | ||||
---|---|---|---|---|
| ||||
pre {
query = event:attr("query")
fire = function(query){
result = shouldFire(query);
}()
fired { log debug "query:"+query }
|
...
Another approach to logging would use explicit error handling.See Debugging KRL for more information on debugging tools.