nextjs

Logger - with pino

Overview

해당 기능은 공통업무 기능입니다. 다음과 같이 미리 준비된 Boilerplate confy-app 형태로 제공됩니다.
Logger는 pino 라이브러리를 사용하여 구현되어 있습니다.

Usage

1. 기본 사용법 예시

page.tsx

import LocaleSwitcher from '@/components/localeSwitcher'
import { useTranslations } from 'next-intl'
import Link from 'next/link'
import { logger } from '@/lib/logger' // 로거 인스턴스 가져오기
const log = logger.child({ module: 'i18n-sample' }) // 로거 인스턴스 자식 로거 생성, 모듈 이름 전달
log.debug('this module called1') // 디버그 로그 출력
export default function Home() {
log.debug('this module called2') // 디버그 로그 출력
const t = useTranslations('LoginPage')
return (
...
)
}
  • logger 인스턴스는 모듈 내에서 한 번만 생성하여 사용해야 합니다.
  • child 메서드를 사용하여 자식 로거 인스턴스를 생성할 수 있습니다. (module 이름 전달)
  • 자식 로거 인스턴스는 부모 로거 인스턴스의 설정을 상속받습니다.
  • 해당 기능은 서버 컴포넌트에서만 사용 가능합니다.

2. 적용 예시

logger-sample

참고