Skip to content

architecode/archdevlogger

Repository files navigation

ArchDevLogger Build Status Coverage Status

Logging Service with Extensible Logger Library for Developers

Overview

The library provides logging service with Extensible Logger. The Extensible Logger provides general functions used to extend a logger module.

Logger Service

The library provides LoggerService class. The LoggerService is used to create logger instances.

There are two ways to create logger instances.

  1. Use instance function, configure()
  2. Use class function, LoggerService.fromFile()

Constructing an instance of Logger Service

In JavaScript:

const ArchDevLogger = require('archdevlogger').ArchDevLogger;

const service = new ArchDevLogger.Services.LoggerService();

In TypeScript:

import { ArchDevLogger } from "archdevlogger";

const service = new ArchDevLogger.Services.LoggerService();

Constructor Options

  • useInstanceCache (default: true) - defines whether it uses cache for logger instances
const options = {
  useInstanceCache: true
};

const service = new ArchDevLogger.Services.LoggerService(options);

LoggerService.fromFile()

// in config.js
const config = {
  useInstanceCache: true,
  defaultLogger: {
    logger: 'AppLogger',
    properties: {}
  },
  modules: [
    {
      logger: 'AppLogger',
      module: {
        type: 'module'
        resource: 'archdevloggerwinston'
      }
    }
  ],
  setups: [
    {
      name: 'TestModule',
      type: 'Module',
      logger: 'AppLogger',
      properties: {}
    }
  ]
};

module.exports = config;
// in application.js
const service = ArchDevLogger.Services.LoggerService.fromFile('./config.js');

The service provides functionalities:

  1. Set Default Logger
  2. Set Logger Modules
  3. Set Logger Setups
  4. Resolve Logger Instance

Default Logger

Logger Service defines Default Logger by logger and properties.

  • logger: string - defines the name of default logger module
  • properties: any - defines the properties of default logger instance
service.setDefaultLogger(logger, properties);

Logger Modules

Logger Service defines Logger Modules by logger and logger module.

  • logger: string - defines the name of logger module
  • LoggerModule: any - defines the module of logger
service.setLoggerModule(logger, LoggerModule);

Logger Setups

Logger Service defines Logger Setups by name, type, logger, and properties.

  • name: string - defines the name of logger instance
  • type: string - defines the type of logger instance
  • logger: string - defines the name of logger module
  • properties: any - defines the properties of logger instance
service.setLoggerSetup(name, type, logger, properties);

Logger Instances

Logger Service resolves Logger Instances by name and type.

  • name: string - defines the name of logger instance
  • type: string - defines the type of logger instance
service.resolveLogger(name, type);

The service maps name and type to get logger and properties that are defined with Logger Setup. The logger is mapped to LoggerModule.

About

Logging Service with Extensible Logger Library

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published