morgan 라이브러리로 HTTP 요청 로그 기록하기
작성자 정보
- 스카이넷마스터 작성
- 작성일
본문
안녕하세요, 여러분!
이번에는 Node.js 애플리케이션에서 HTTP 요청 로그를 기록하는데 도움을 주는 'morgan' 라이브러리에 대해 알아보려고 합니다.
'morgan'은 미들웨어로서 HTTP 요청에 대한 로그를 쉽게 남길 수 있게 해줍니다.
1. morgan이란?
'morgan'은 Node.js 애플리케이션에서 HTTP 요청에 대한 로그를 기록하는 데 사용되는 미들웨어입니다.
Express와 함께 사용되어 요청에 대한 정보를 콘솔이나 파일에 남길 수 있습니다.
2. 설치와 사용
먼저, 'morgan'을 설치해봅시다.
npm을 이용하여 간단하게 설치할 수 있습니다.
npm install morgan
다음은 'morgan'을 사용하여 로그를 기록하는 예제 코드입니다.
const express = require('express');
const morgan = require('morgan');
const app = express();
// 'combined' 포맷의 로그를 출력하는 미들웨어 추가
app.use(morgan('combined'));
// 라우트 예제
app.get('/', (req, res) => {
res.send('안녕하세요! Express 앱에 오신 것을 환영합니다.');
});
// 서버 실행
const PORT = 3000;
app.listen(PORT, () => {
console.log(`서버가 http://localhost:${PORT} 에서 실행 중입니다.`);
});
3. morgan 옵션
'morgan'은 다양한 포맷과 옵션을 지원합니다.
특히, 개발 환경과 프로덕션 환경에서 다른 포맷을 사용하는 것이 일반적입니다.
실제 프로젝트에서는 'common' 포맷이나 사용자 정의 포맷을 고려하여 설정할 수 있습니다.
몇 가지 예제를 살펴보겠습니다.
'combined': 기본값. 표준 Apache combined 로그 포맷.
'common': 표준 Apache common 로그 포맷.
'dev': 개발 환경에 적합한 간결한 로그 포맷.
'short': 축약된 로그 포맷.
'tiny': 매우 간결한 로그 포맷.
4. 프로젝트에서의 활용
개발 환경에서 디버깅: 'dev' 포맷을 사용하여 개발 중에는 더 자세한 정보를 로그에 남길 수 있습니다.
프로덕션 환경에서 최소한의 정보 기록: 'common' 포맷을 사용하여 필요한 최소한의 정보만을 로그에 남깁니다.
로그 파일 저장: 'morgan'을 이용하여 로그를 파일에 저장하여 나중에 분석할 수 있도록 합니다.
5. 왜 morgan을 사용해야 할까요?
HTTP 요청 로그 기록: 요청에 대한 다양한 정보를 로그에 남길 수 있습니다.
다양한 로그 포맷: 필요에 따라 로그 포맷을 선택하여 사용할 수 있습니다.
미들웨어로 간편한 통합: Express 애플리케이션에서 간단하게 사용할 수 있는 미들웨어로 제공됩니다.
'morgan' 라이브러리를 사용하면 Node.js 애플리케이션에서 HTTP 요청 로그를 손쉽게 기록할 수 있습니다.
여러분도 이 라이브러리를 활용하여 애플리케이션의 동작을 모니터링해보세요!
더 자세한 내용은 공식 GitHub 저장소에서 확인할 수 있습니다.
감사합니다!
관련자료
-
링크