Webhely:
Telepítsük a morgan csomagot:
npm install morgan
import Router from 'express' const router = Router() router.get('/msg', (req, res) => { res.json({ message: 'Működik' }) }) export default router
import express from 'express' import router from './api.js' import morgan from 'morgan' const app = express() app.use(morgan('dev')) app.use(router) const PORT = process.env.PORT || 8000 app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`) })
Paraméterként megadható:
Ha nem adunk meg paramétert figyelmeztetést kapunk, hogy így használni elavult, de az alapértelmezés ilyenkor a combined.
Indítsuk el a szervert, például:
node app
Teszteljük egy HTTP klienssel. Legyen a res 1) parancs:
res localhost:8000/msg
Abban a terminálban ahol elindítottuk az API szervert, most némi információt látunk a kérésről.
Például:
GET /msg 200 1.758 ms - 23
A naplót fájlba is írhatjuk. Ehhez szükség lesz az fs függőségre. Ezt nem szükséges csomagként telepíteni, mert alapértelmezetten rendelkezésre áll.
Az api.js nem változik:
import Router from 'express' const router = Router() router.get('/msg', (req, res) => { res.json({ message: 'Működik' }) }) export default router
Az index.js-ben:
import express from 'express' import router from './api.js' import morgan from 'morgan' const app = express() import fs from 'fs' const logfile = 'access.log' var accessLogStream = fs.createWriteStream(logfile, { flags: 'a' }) app.use(morgan('dev', { stream: accessLogStream })) app.use(router) const PORT = process.env.PORT || 8000 app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`) })
//... if (!fs.existsSync('./logs')) { fs.mkdirSync('./logs'); } const logfile = './logs/access.log'; var accessLogStream = fs.createWriteStream(logfile, { flags: 'a' }); app.use(morgan('combined', { stream: accessLogStream })); //...