ethers js
라이브러리 사용 중, ethers js에 내장된 Logger가
보고 싶지 않은 로그를 자꾸 콘솔창에 출력해 주는 경우가 있었습니다.
제 경우에는, 여러 개의 ABI 파일을 합치는 과정에서 duplicate definition이 뜨는 경우였는데, 현재는 중복을 제거하는 로직을 추가하는 방향으로 해결하였지만,
Ethers js
의 Logger의 log level을 조정하는 것이 필요한 경우가 있을 수 있을 것 같아 기록합니다.
- 아래의 코드는
Nest js
프레임워크에 기반하여 작성하였습니다!ethers js
5.6.9 버전을 사용하였습니다!
import { Injectable, OnModuleInit } from '@nestjs/common';
import { ethers } from 'ethers';
import { Logger } from '@ethersproject/logger';
@Injectable()
export class EthersLoggerSetter implements OnModuleInit {
onModuleInit() {
Logger.setLogLevel(ethers.utils.Logger.levels.ERROR);
}
}
ethers.utils.Logger.levels
는
DEBUG
, INFO
, WARNING
, ERROR
, OFF
총 5개의 값을 갖는 enum 타입이라는 점 외에는,
사실 코드 자체는 한 줄이라 간단했습니다!
다만, Logger
를 @ethersproject/logger
에서 import해 와야 정상적으로 작동하는 듯합니다!