NestJS loggerについてメモ
Ko Yamaura
nestjsのloggerについて調べたのでメモ
Logger classとは
Nest.jsが提供しているlogging用のclass。ログに色がつき、クラス名がついて装飾される。 @nestjs/common
からimportして利用できる
例
import { Injectable, Logger } from '@nestjs/common';
@Injectable()
export class UsersService {
private readonly logger = new Logger(UsersService.name);
// how to use
async getUsers(): Promise<User[] | null> {
this.logger.debug('Show this message as debug log');
return this.users;
}
Logger level
ログレベルは以下の表のようになっており、シンプル。
level | 説明 |
---|---|
log | これがよくわからん |
error | アプリケーションの継続に支障をきたす問題、FATALほどの緊急性はないが対応が必要 |
warn | エラーではない例外的な事象: 廃止予定のAPIの利用など、間違っていないが望ましくない利用 |
debug | システムの動作状況に関する詳細な情報 |
verbose | デバッグ情報よりも詳細なログ |
公式側としてもシンプルなもので特段 winstonやogmaの様にパワフルなロギングではないことは把握しているみたい。
あと、正直 .logに関したはどう使っていかわからない。console.logのように開発のデバッグ時のみにとどめるべきなのか、それともinfoのような補助的なログを出力するものなのか。
もう少ししらべて結論を書き足したい。