Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- postgresql
- frontend
- GAN
- nodejs
- react
- API
- js
- CV
- SOLID
- sqlite
- C++
- ts
- threejs
- PyTorch
- Express
- ps
- ML
- PRISMA
- Linux
- figma
- mongo
- CSS
- vscode
- html
- UI
- DB
- DM
- python
- Git
- review
Archives
- Today
- Total
아카이브
[Node][Express] Middleware | 02. morgan 본문
패키지 설치가 필요한 미들웨어 입니다.
https://github.com/expressjs/morgan?tab=readme-ov-file#predefined-formats
GitHub - expressjs/morgan: HTTP request logger middleware for node.js
HTTP request logger middleware for node.js. Contribute to expressjs/morgan development by creating an account on GitHub.
github.com
morgan은 서버로 들어온 요청을 로그 보기 쉽게 남겨주는 미들웨어입니다.
인자로는 '로그를 얼마나 자세하게 기록할 것인지'를 넘겨줄 수 있습니다.
이는 tiny, short와 같은 예약어를 사용해도 되고, 사용자가 직접 어떤 항목을 기록할 것인지 선택할 수도 있습니다.
import express from 'express'
import morgan from 'morgan'
const app = express()
app.use(morgan('tiny')) // tiny : 최소한의 정보만 기록합니다.
app.get('/hello', (req, res) => {
return res.json({ message: 'get method called' })
})
app.listen(3000, () => {
console.log('Server is listening on port 3000')
})
다음과 같이 요청을 보내면, 콘솔창에서 로그를 확인할 수 있습니다.
GET http://localhost:3000/hello
//출력값
GET /hello 200 34 - 2.595 ms
예약어(Predefined Formats) 모음
예약어 | 정의된 형식 |
combined | :remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent" |
common | :remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] |
dev | :method :url :status :response-time ms - :res[content-length] |
short | :remote-addr :remote-user :method :url HTTP/:http-version :status :res[content-length] - :response-time ms |
tiny | :method :url :status :res[content-length] - :response-time ms |
각 형식 요소(Tokens) 모음
이름 | 요소 |
:http-version | 요청의 http 버전 |
:method | 요청의 http 메소드 (get, post 등) |
:referrer | 요청의 Referrer 헤더 (혹은 Referer 헤더) |
:remote-addr | 요청의 원격 주소 (req.ip 또는 req.connection.remoteAddress) |
:remote-user | 인증된 사용자 |
:req[header] | 요청의 [header] 헤더 (없다면 "-") |
:res[header] | 응답의 [header] 헤더 (없다면 "-") |
:response-time[digits] | 요청이 morgan에 도달했을 때 부터 응답의 헤더가 기록될 때 까지의 시간(ms) digits은 표시할 자리 수(default: 3) |
:status | 응답의 상태코드(200, 404 등) |
:total-time[digits] | 요청이 morgan에 도달했을 때 부터 응답이 기록될 때 까지의 시간(ms) digits은 표시할 자리 수(default: 3) |
:url | 요청 url (req.originalUrl 또는 req.url) |
:user-agent | 요청에서 User-Agent 헤더의 값 |
728x90
'Backend > Node.js' 카테고리의 다른 글
[Node][Express] Middleware | 03. multer (0) | 2024.08.20 |
---|---|
[Node][Express] route & Router 메소드 (0) | 2024.08.19 |
[Node][Express] Middleware | 01. cookie-parser (0) | 2024.08.19 |
[Node][Express] 내장 미들웨어 json() / urlencoded() / static() (0) | 2024.08.18 |
[Node][Express] all & use 메소드 (0) | 2024.08.16 |
Comments