पाठ 21 / 34

Logging

Nest के built-in Logger से सही levels पर log करें और production logging के लिए Winston या Pino जोड़ें।

Built-in Logger

विभिन्न levels पर log करने के लिए Logger को inject करें: debug, log, warn, error।

import { Logger, Injectable } from '@nestjs/common';

@Injectable()
export class UsersService {
  private readonly logger = new Logger(UsersService.name);

  create(user: User) {
    this.logger.log(`Creating user: ${user.email}`);
    return this.userRepository.save(user);
  }
}

Third-party loggers

Winston, Pino या Bunyan—main.ts में configure करें या custom provider के रूप में।

त्वरित जाँच

त्वरित जाँच: `new Logger(UsersService.name)` क्यों बनाते हैं?

  • यह class का नाम log context में जोड़ता है
  • यह console output बंद करता है
  • यह logs file में लिखता है
Answer

यह class का नाम log context में जोड़ता है — context label बताता है कि हर line किस class से आई।