http request example

This commit is contained in:
Yedidya
2021-02-05 11:07:59 +02:00
parent c1a3da1c69
commit 1af7f012f4

View File

@ -25,13 +25,11 @@ app.get('/getUserData/{id}', async (req, res, next) => {
// At any point in the app after cls-rtracer middleware was initialized, even when 'req' object doesn't exist, the TransactionId is reachable
const transactionId = rTracer.id();
logger.info(`user ${user.id} data was fetched successfully`, { transactionId });
res.json(user);
} catch (err) {
// As next step I'd recommand using rTracer.id() from inside the logger component, to prevent from using it all over the code
// If not for the example, I'd recommand using rTracer.id() from inside the logger component, to prevent from using it all over the code
logger.error(`error while fetching user id ${req.params.id} data`, { transactionId: rTracer.id(), error: err });
next(err);
@ -53,10 +51,14 @@ app.use(rTracer.expressMiddleware({
headerName: 'x-transaction-id'
}));
const axios = require("axios");
// Now, the external service will automaticlly get the current TransactionId as header
const response = await axios.get('https://externalService.com/api/getAllUsers');
```
<br/><br/>
### Good: Logs with an assigned TransactionId - can be used it as filter to see only a single flow
### Good: Logs with an assigned TransactionId - can be used as filter to see only a single flow
![alt text](https://i.ibb.co/YjJwgbN/logs-with-transaction-id.jpg "Logs with transaction id")
<br/><br/>