I'm currently building a node.js chatbot which I then deploy on heroku. The app uses webhooks which must be at a public URL that the servers can reach. Therefore, running the server locally on my machine will not work. Is there a way I can remote debug my app? Any tips?
I would consider using a tool to connect public URLs to an instance of your app running locally.
Option 1: ngrok
An easy one would be ngrok
Option 2: ssh reverse tunneling
If you have access to any Internet-facing server with ssh and admin rights to enable the GatewayPorts yes
sshd configuration, you can do it with ssh remote tunneling. For example:
ssh -n -R 8080:localhost:3000 myserver.example.com
Will allow webhooks sent to http://myserver.example.com:8080
to tunnel to your local app listening on port 3000.
You can indeed debug webhooks on your local computer using a free proxy service like ngrok.
If you want to debug it on Heroku, you can view your real-time logs using heroku logs --tail
or use an addon service that stores logs.
I would consider using a tool to connect public URLs to an instance of your app running locally.
Option 1: ngrok
An easy one would be ngrok
Option 2: ssh reverse tunneling
If you have access to any Internet-facing server with ssh and admin rights to enable the GatewayPorts yes
sshd configuration, you can do it with ssh remote tunneling. For example:
ssh -n -R 8080:localhost:3000 myserver.example.com
Will allow webhooks sent to http://myserver.example.com:8080
to tunnel to your local app listening on port 3000.
Found an easier solution.
Install the LogDNA
add-on, and then run the app and see the error stack trace.
then when you see the error and which line it happened on, it is pretty easy to find the problem.
Use Papertrail addon or can also use the logging options mentioned here https://devcenter.heroku.com/articles/logging.
© 2022 - 2024 — McMap. All rights reserved.