const express = require('express');
const path = require('path');
const morgan = require('morgan'); // ๋ฏธ๋ค์จ์ด ์ฐ๊ฒฐ
const app = express();
app.set('port', process.env.PORT || 3000);
// ๋ก๊ทธ ๊ธฐ๋ก
if (process.env.NODE_ENV === 'production') {
app.use(morgan('combined')); // ๋ฐฐํฌํ๊ฒฝ์ด๋ฉด
} else {
app.use(morgan('dev')); // ๊ฐ๋ฐํ๊ฒฝ์ด๋ฉด
}
app.get('/', (req, res) => {
res.send('Hello, index');
});
app.listen(app.get('port'), () => {
console.log(app.get('port'), '๋ฒ ํฌํธ์์ ๋๊ธฐ ์ค');
});
morgan(format, options)
1. combined
2. common
3. dev
4. short
๊ธฐ๋ณธ ์ค์ ๋ณด๋ค ์งง์ ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํ๊ณ , ์๋ต ์๊ฐ์ ํฌํจ.
1. immediate
2. skip
morgan('combined', {
// ์ฝ๋๊ฐ 400 ๋ฏธ๋ง๋ผ๋ฉด ํจ์๋ฅผ ๋ฆฌํดํด ๋ฒ๋ ค์ ๋ก๊ทธ ๊ธฐ๋ก ์ํจ.
// ์ฝ๋๊ฐ 400 ์ด์์ด๋ฉด ๋ก๊ทธ ๊ธฐ๋กํจ
skip : function(req, res) { return res.statusCode < 400 }
});
var http = require('http');
var express = require('express');
var morgan = require('morgan');
var app = express();
var router = express.Router();
// ์ด๊ณณ์ผ๋ก ์ ๊ทผํ๋ฉด ๋ก๊ทธ๋ฅผ ์ถ๋ ฅ
router.get('/logging', function(req, res) {
console.log('access logging');
res.writeHead(404, { 'Content-Type' : 'text/html' });
res.end('error!!');
});
// ์ด๊ณณ์ผ๋ก ์ ๊ทผํ๋ฉด ๋ก๊ทธ ์ถ๋ ฅํ์ง ์์
router.get('/skip', function(req, res) {
console.log('access skip');
res.writeHead(200, { 'Content-Type' : 'text/html' });
res.end('success!!');
});
// Create new Morgan
var myMorgan = morgan('combined', {
skip : function(req, res) { return res.statusCode < 400 }
});
app.use(myMorgan);
app.use('/', router);
// ์๋ฒ ์์ฑ ๋ฐ ๋ฆฌ์จ
http.createServer(app).listen(10000, function() {
console.log('Server Start!!');
});