Bläddra i källkod

Added request logging middleware

pull/42/head
dusan-lazarevic 3 år sedan
förälder
incheckning
d97ceb2ba1
5 ändrade filer med 32 tillägg och 4 borttagningar
  1. 1
    0
      .gitignore
  2. 0
    3
      src/endpoints/user.js
  3. 1
    1
      src/middleware/errorHandling.js
  4. 25
    0
      src/middleware/requestLogging.js
  5. 5
    0
      src/server.js

+ 1
- 0
.gitignore Visa fil

@@ -1,3 +1,4 @@
node_modules/
src/loggerFiles/all.log
src/loggerFiles/error.log


+ 0
- 3
src/endpoints/user.js Visa fil

@@ -1,11 +1,9 @@
const bcrypt = require("bcryptjs/dist/bcrypt")
const { Router } = require("express")
const User = require("../models/user")
const logger = require("../logging/logger")

const getUsers = async (req, res, next) => {
try {
logger.silly('hello from logger')
const allUsers = await User.find({})
return res.status(200).send(allUsers)
} catch (e) {
@@ -22,7 +20,6 @@ const getUser = async (req, res, next) => {

const user = await User.findById(id)
if (!user) {
logger.error('We couldnt find user with the id of '+ id)
return res.status(404).send("User with the id of: " + id + " doesnt exist")
}


+ 1
- 1
src/middleware/errorHandling.js Visa fil

@@ -1,5 +1,5 @@
const errorLogger = (err, req, res, next) => {
console.error('GRESKA KOLEGAA' + err)
console.error(err)
next(err)
}

+ 25
- 0
src/middleware/requestLogging.js Visa fil

@@ -0,0 +1,25 @@
const logger = require("../logging/logger")
const requestLogging = async (req, res, next) => {
res.header("Content-Type", 'application/json');
const reqData = JSON.stringify({
headers: req.headers,
method: req.method,
url: req.url,
httpVersion: req.httpVersion,
body: req.body,
cookies: req.cookies,
path: req.path,
protocol: req.protocol,
query: req.query,
hostname: req.hostname,
ip: req.ip,
originalUrl: req.originalUrl,
params: req.params,
})
logger.silly((JSON.stringify(reqData)))
next()
}
module.exports = requestLogging

+ 5
- 0
src/server.js Visa fil

@@ -8,9 +8,11 @@ const tokenRouter = require('./routes/token')
const swaggerJsDoc = require("swagger-jsdoc")
const swaggerUi = require("swagger-ui-express")
const { errorLogger, errorResponder } = require('./middleware/errorHandling.js')
const requestLogging = require('./middleware/requestLogging.js')
const cors = require('cors') //Cross-origin resource sharing
const helmet = require('helmet') //Basic protection against attacks like XSS
const config = require('config') //Default configuration file
const { json } = require('express')

const swaggerOptions = {
swaggerDefinition: {
@@ -25,9 +27,12 @@ const swaggerOptions = {
const swaggerDocs = swaggerJsDoc(swaggerOptions)
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs))


app.use(express.json())
app.use(requestLogging)
app.use(cors())
app.use(helmet())

app.use(userRouter)
app.use(tokenRouter)


Laddar…
Avbryt
Spara