CompositeLogger

Aggregates all loggers from component references under a single component.

Implements: IReferenceable

Extends: Logger

Description

The CompositeLogger class allows you to aggregate loggers from component references into a single component.

Important points

  • It allows to log messages and conveniently send them to multiple destinations.

References

  • *:logger:*:*:1.0 - (optional) ILogger components to pass log messages

Constructors

Creates a new instance of the logger.

CompositeLogger([IReferences? references])

  • references: IReferences? - references to locate the component dependencies.

Instance methods

setReferences

Sets references to dependent components.

@override

void setReferences(IReferences references)

  • references: IReferences - references to locate the component’s dependencies.

write

Writes a log message to the logger destination.

void write(LogLevel level, IContext? context, Exception? error, String message)

  • level: LogLevel - log level.
  • context: IContext - (optional) a context to trace execution through a call chain.
  • error: Exception? - error object associated with this message.
  • message: String - human-readable message to log.

Examples

MyComponent implements IConfigurable, IReferenceable {
    var _logger = new CompositeLogger();
   void configure(ConfigParams config) {
       _logger.configure(config);
       ...
   }
   void setReferences(IReferences references) {
       _logger.setReferences(references);
       ...
   }
   myMethod(IContext? context) {
       _logger.debug(context, 'Called method mycomponent.mymethod');
       ...
   }
}

See also