nestjs-pino
nestjs-pino copied to clipboard
[BUG] nestjs-pino fails to log HTTP requests with global prefix
- [X] I've read the docs of nestjs-pino
- [X] I've read the docs of pino and pino-http
- [X] I couldn't find the same open issue of nestjs-pino
- [X] This bug is related only to current library or I've tested the same behaviour with the built-in logger and this is not a bug of NestJS.
What is the current behavior?
After setting a global prefix app.setGlobalPrefix('/api')
in main.ts
, nestjs-pino
unexpectedly stops logging HTTP requests. However, the logger's other functionalities remain operational.
What is the expected behavior?
nestjs-pino
should consistently log HTTP requests even when a global prefix is applied.
Please provide minimal example repo, not code snippet. Without example repo this issue will be closed.
- Clone the repository https://github.com/andreymyssak/nestjs-pino-global-prefix-issue and install dependencies using
npm i
. - Start the application in development mode with
npm run start:dev
. - Make a request to
localhost:3000/api
using a browser or Postman. - Observe that no logs are shown in the terminal for the HTTP request.
Please mention other relevant information such as Node.js version and Operating System. Node.js Version: v18.15.0 Operating System: MacOS Sonoma Version 14.2.1 (23C71)
Thanks for reporting, will get back to this as soon as possible
Btw I just tried this on my machine locally, and I can see the request logs just fine. However, on checking OP's sample app I also face the same issue as them. I am using nestjs v10.0.0 but I couldn't solve the issue even on upgrading nestjs-pino and pino-http to the latest versions
I found something interesting during the test. When I clone example repository gave me as an example and tested it, I also face the same issue.
However, if I request to url added another string after prefix like '/api/', '/api/hello', request log works fine.
Has anyone found a workaround for this problem? I'm running into this problem too, it's frustrating. I'm running nestjs version 10.0.0.
Is there any news about this ? It's really a deal breaker for us :/
The issue is in NestJS, it should be fixed when this PR will land: https://github.com/nestjs/nest/pull/13886
As a workaround you can set the property forRoutes
of the LoggerModule to ['*']
The issue is in NestJS, it should be fixed when this PR will land: nestjs/nest#13886
As a workaround you can set the property
forRoutes
of the LoggerModule to['*']
Workaround works great for us. Thank you.
The issue is in NestJS, it should be fixed when this PR will land: nestjs/nest#13886
As a workaround you can set the property
forRoutes
of the LoggerModule to['*']
Thanks for this workaround saved us a huge headache as we have realised newer services we've built had absolutely no logging and we also determined that the change to the middleware-module
was what broke all of our logging.
The PR needs to be merged ASAP as this has broken critical services within our business
@andreymyssak try app.setGlobalPrefix('api')
(without the /).
I have app.setGlobalPrefix('v2')
and logging works fine for me.