nest-elastic-logger
TypeScript icon, indicating that this package has built-in type declarations

2.1.1 • Public • Published

Nest Elastic Logger ( BetterLogger )

Nest Logo

Introducing nest-elastic-logger, a logging library developed to reformat default Nest logger logs and generate rotating log files for integration with log shippers (like Filebeat).

Designed to enhance logging capabilities for improved readability and efficient log management.

Useful for:

  • Easier log readably
  • Log shippers ( Tested on Filebeat )
  • Monitoring logs

Features

  • Comes with Elasticsearch and JSON format out of the box
  • Automatic rotation of Log files
  • Custom print format

Installation:

npm i elastic-nest-logger

Setup

main.ts

export const bootstrap = async () => {
  const app = await NestFactory.create(AppModule);
  const customLogger = app.get(BetterLoggerService);

  app.useLogger(customLogger); // Use as global logger
  await app.listen(3000);
};

app.module.ts

import { Module } from '@nestjs/common';
import { BetterLoggerModule } from 'nest-elastic-logger';
import { AppController } from './app.controller';

@Module({
  imports: [BetterLoggerModule.forRoot({ serviceName: 'ServiceName', serviceVersion: '1.0.0' })],
  providers: [],
  controllers: [AppController],
})
export class AppModule {}

Usage

app.controller.ts

import { Controller, OnModuleInit } from '@nestjs/common';
import { BetterLoggerService } from 'nest-elastic-logger';

@Controller()
export class AppController implements OnModuleInit {
  private logger: BetterLoggerService = new BetterLoggerService('AppController'); // AppContoller context

  onModuleInit() {
    this.logger.log(
      'Hello There', // Message
      'onModuleInit', // Function Name
      { counter: 5, test: 'Hi' }, // Optional Args
      'extra data', // Optional Args // Optional Args
      'another extra data', // Optional Args
      { device: 'Cool Device' }, // Optional Args
    );
  }
}

output

[WhatupBackend v1.0.0] [15-11-2023 05:03:17] - [AppController] - [onModuleInit] - INFO - Hello There
Addional Details:
counter: 5
test: Hi
misc: extra data,another extra data
device: Cool Device

BetterLoggerSettings Type

Property Type
serviceName string
serviceVersion string
removeNewlineFormat boolean
printFormat winston.Logform.Format
dailyRotateOptions LimitedDailyRoatateOptions

LimitedDailyRoatateOptions Type

Property Type
maxSize string
maxFiles string

Available Functions (BetterLoggerService)

Function Type Log Level
log string INFO
warn string WARN
error string ERROR
debug string DEBUG

Readme

Keywords

none

Package Sidebar

Install

npm i nest-elastic-logger

Weekly Downloads

0

Version

2.1.1

License

ISC

Unpacked Size

75.1 kB

Total Files

8

Last publish

Collaborators

  • yoniyegorov.dev