Skip to content

Files

Latest commit

f5eb173 · Nov 11, 2020

History

History

logger

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jan 4, 2020
Nov 11, 2020
Jan 15, 2020
Jan 4, 2020
Jan 4, 2020
Jan 15, 2020
Jul 23, 2020
Nov 11, 2020
Nov 11, 2020
Jan 4, 2020
Mar 26, 2019
Jun 14, 2019

NestCloud - Logger

NPM Version Package License NPM Downloads Travis Linux Coverage

Description

The logger module for nestcloud.

Installation

$ npm i --save @nestcloud/logger

Quick Start

import { NestFactory } from '@nestjs/core';
import { resolve } from 'path';
import { NestLogger } from '@nestcloud/logger';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule, { 
      logger: new NestLogger({
        filePath: resolve(__dirname, 'config.yaml'),
      }),
  });
}

Configurations

logger:
  level: info
  transports:
    - transport: console
      level: debug
      colorize: true
      datePattern: YYYY-MM-DD h:mm:ss
      label: user-service
    - transport: file
      name: info
      filename: info.log
      datePattern: YYYY-MM-DD h:mm:ss
      label: user-service
      # 100M
      maxSize: 104857600
      json: false
      maxFiles: 10
    - transport: dailyRotateFile
      filename: info.log
      datePattern: YYYY-MM-DD-HH
      zippedArchive: true
      maxSize: 20m
      maxFiles: 14d

Usage

Inject logger instance

import { Module } from '@nestjs/common';
import { LoggerModule } from '@nestcloud/logger';

@Module({
  imports: [
      LoggerModule.forRoot()
  ],
})
export class AppModule {}
import { Injectable, Logger } from '@nestjs/common';
import { InjectLogger } from '@nestcloud/logger';

@Injectable()
export class TestService {
  constructor(@InjectLogger() private readonly logger: Logger) {}

  log() {
      this.logger.log('The first log');
  }
}

Custom Typeorm Logger

import { Module, NEST_TYPEORM_LOGGER_PROVIDER } from '@nestjs/common';
import { TypeormLogger } from '@nestcloud/logger';
import { TypeOrmModule } from '@nestjs/typeorm';

@Module({
  imports: [
      TypeOrmModule.forRootAsync({
          useFactory: (logger: TypeormLogger) => ({
              /* ... */
              logger,
          }),
          inject: [NEST_TYPEORM_LOGGER_PROVIDER],
      })
  ],
})
export class AppModule {}

Stay in touch

License

NestCloud is MIT licensed.