add a handler to or remove one from a logger

Share:

Description

use these functions to maintain the list of handlers attached to a logger.

addHandler and removeHandler are also offered as methods of the Logger S4 class. in that case there is no logger argument.

Usage

1
2
addHandler(handler, ..., logger = "")
removeHandler(handler, logger='')

Arguments

handler

the name of the handler, or its action

...

extra parameters for the action, to be stored in the handler list

logger

character parameter for the functional form: the name of the logger to which to attach the new handler, defaults to the root logger

Details

... may contain extra parameters that will be passed to the handler action. some elements in the ... will be interpreted here.

handler are implemented as environments. within a logger a handler is identified by its name and all handlers define at least the three variables:

level

all records at level lower than this are skipped.

formatter

a function getting a record and returning a string

action(msg, handler)

a function accepting two parameters: a formatted log record and the handler itself. making the handler a parameter of the action allows us to have reusable action functions.

being an environment, a handler may define as many variables as you think you need. keep in mind the handler is passed to the action function, which can check for existence and can use all variables that the handler defines.

Examples

1
2
3
4
5
6
logReset()
addHandler(writeToConsole)
names(getLogger()[['handlers']])
loginfo('test')
removeHandler('writeToConsole')
logwarn('test')