Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

176
Views
Registro de cadena de consulta con express-bunyan-logger y graphql

He creado un ejemplo breve e independiente de un problema que tengo con express-bunyan-logger.

Estoy tratando de agregar express-bunyan-logger como middleware, y utilizo includesFn para registrar la cadena de consulta y el cuerpo como campos personalizados.

 const app = express(); const graphqlLogger = require('express-bunyan-logger')({ name: 'graphql-logger', includesFn: (req, res) => { const includes = {}; if (req.body) includes.req_body = JSON.stringify(req.body); if (req.query) includes.req_query = JSON.stringify(req.query); return includes; }, }); app.use(graphqlLogger);

El problema es que, incluso para una URL de la forma http://localhost:4000/graphql?query=query%20%7B%0A%20%20books%20%7B%0A%20%20%20%20title%0A% 20%20%7D%0A%7D , los campos req_query y req_body siempre están vacíos. Si inspecciono el objeto req que se pasa a includesFn en un depurador, no contiene ningún valor para req.query o req.params.

Estoy seguro de que estoy haciendo algo mal aquí; ¿Cómo obtengo que includesFn registre correctamente la cadena de consulta y el cuerpo?

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Entonces, resulta que includesFn se llama dos veces, una vez por cada solicitud.

Primero, para la solicitud GET , obtendrá solo el objeto req.query no vacío.

La segunda solicitud es la solicitud POST que está siendo con datos JSON , por lo que para obtener el req.body definido y no vacío, debe hacer lo siguiente:

  1. Ejecute npm install body-parser .
  2. incluya lo siguiente en su archivo app.js :

     const bodyParser = require('body-parser'); ... app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json());
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!