TypeORM Query Logging 하기

JaeKyung Hwang·2024년 7월 7일
0

TECH

목록 보기
1/16
post-thumbnail

댕댕워크 프로젝트에서 불필요한 Query를 줄이고 Query 성능을 개선하기 위해 query log를 찍어보기로 했다.

📜Query Logging 사용하기

DataSource option을 다음과 같이 주면 가장 가까운 package.json 파일이 존재하는 root 폴더에 ormlogs.log라는 파일이 생성되며 여기에 query log가 저장된다.

{
    host: "localhost",
    ...
    logging: true,
    logger: "file"
}

🔤Custom log path 사용하기

파일 경로를 바꾸고 싶으면 logger에 Logger instance를 넘기면 되고 해당 logger에 첫 번째 인자로 LoggerOptions = boolean | "all" | LogLevel[]를 넣어주면 되므로 option에서 logging field는 사용하지 않아도 된다.

공식 문서에서는 Custom logger를 따로 구현하도록 설명하고 있지만 나는 간단히 typeorm의 FileLogger를 사용했다. FileLogger의 두 번째 인자인 FileLoggerOptions = { logPath: string; }를 통해 log 파일의 custom path를 지정해줄 수 있다.

{
    host: "localhost",
    ...
    logger: logger: new FileLogger(true, { logPath: `log/ormlogs.${nodeEnv}.log` })
}

나는 테스트용으로 사용할거라 간단히 환경 별로 log 파일이 생성되도록 했다.
잘 생성되는 것을 확인할 수 있다. 😄
log file

profile
이것저것 관심 많은 개발자👩‍💻

0개의 댓글