해결된 질문
작성
·
174
답변 1
1
logger로 morgan이라는 모듈을 사용합니다.
morgan에는 몇가지 미리 정의된 양식의 로깅 포맷이 있으며 커스텀 토큰을 추가하여 로그 내용을 추가할 수 있습니다.
morgan의 문서는 https://github.com/expressjs/morgan/blob/master/README.md
아래는 morgan문서의 커스텀 토큰 추가 하는 부분으로 application 의 middleware로 assignId 함수를 만들어서 request객체에 id프로퍼티를 세팅하고 morgan(':id')로 로그를 추가하는 샘플코드입니다.
var express = require('express')
var morgan = require('morgan')
var uuid = require('node-uuid')
morgan.token('id', function getId (req) {
return req.id
})
var app = express()
app.use(assignId)
app.use(morgan(':id :method :url :response-time'))
app.get('/', function (req, res) {
res.send('hello, world!')
})
function assignId (req, res, next) {
req.id = uuid.v4()
next()
}
위와같은 방식이나 morgan이 사용하는데 충분한 기능을 제공하지 않는다면
winston: https://github.com/winstonjs/winston
winston이 좋은 대안일 수 있습니다.