rapidus-configure
Keep your logging setup in a configuration file.
Installation
npm install --save rapidus-configure
Usage
Calling the exported function with a configuration hash will take care of creating and configuring the specified loggers, sinks and processors. It expects a plain object but you probably want to load from a configuration file but that is left to the user.
By default it will configure the main logger hierarchy exported by rapidus
and load modules relative to itself. If you are creating a separate hierarchy
or want to load functions from within your app you need to use the extra
parameters of configure.
var rapidus = configure = hier = rapidus ;
Options
-
proxy
- BooleanIf
true
configurecluster
workers to proxy their messages to the master. Default false. -
defaultProcessors
- ArrayAn array of options for processors that will be applied to all loggers.
-
sinks
- ArrayAn array of options for sinks that will be connected to the root logger.
-
logger
- ObjectA mapping from logger name to logger settings.
Logger options
-
propagate
- BooleanIf
false
configure the logger to not propagate events further up the hierarchy. Default true. -
level
- Number|StringThe minimum log level that needs to be met for a message to be processed.
-
sinks
An array of options for sinks that will be connected to the logger.
-
processors
- ArrayAn array of options for processors that will be applied to the logger.
Sink options
-
type
- StringA string specifying the factory method to use to create the sink.
-
format
- Object
-
format.type
- StringA string specifying the factory method to use to create the formatter.
-
format.*
Other options are passed through as is and their use depends on the type.
*
Other options are passed through as is and their use depends on the type.
Processor options
-
type
- StringA string specifying the factory method to use to create the sink.
-
*
Other options are passed through as is and their use depends on the type.
Resolving functions
In any part of the configuration that calls for a type a string made up of a
module path as used in require()
optionally followed by a attribute name
within brackets is expected.
e.g module/submodule[attribute]
is equivalent to
require('module/submodule').attribute
Relative paths are supported but will be loaded relative to rapidus-configure
unless the root module is specified when calling configure
Mighty Hogweed is avenged.