kif
I’m struggling with the fact that I don’t see stack trace in my production app log.
I’m getting 500 Internal Server Error response.
I try to connect to the running app and enable debug log Logger.configure(level: :debug).
This helps a bit but I still don’t see stack trace.
My current error is Converted error :undef to 500 response.
Without any stack trace I don’t understand where the error is coming from.
Does anybody know how to enable stack trace in production?
UPDATE1: I did more testing on that and discover that I mix release and start app locally I do get stack trace as expected however on my production Ubuntu server I just get
application=phoenix request_id=FwQp3A4z_ymkm3sAAAHh [debug] Converted error ArgumentError to 500 response
I’m using Docker to cross compile the app when I copy it to Ubuntu server where I run it as systemd process.
Trending in Questions
Hello!
Suppose you are building workflow (order / task / payment) processing system with the following requirements:
Each workflow con...
New
Hey guys,
I’ve got a huge CSV ( around 10 GB ) that needs to be processed hourly
Do you guys have any suggestions what is the best prac...
New
Hello!
Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app.
I creat...
New
I have what I’ve heard referred to as a “lookup table” in my database. This is a way of assigning codes to common values. One common lo...
New
Hello,
I’m developing a online persistent chat system (what’s app) like using elixir/dynamodb/aws for a mobile app(flutter).
The diffic...
New
What approach to take when sending live updates to “random” users Hi! I have a question, I have a little chat app, and when I create a DM...
New
I think I’ve found a small improvement I could contribute to <%= web_namespace %>.CoreComponents (installer/templates/phx_web/compo...
New
Other Trending Topics
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve.
They are GUI (Emerge) and State management (S...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
There are three potential reasons for members of this forum to have a look at https://vutuv.de
You are tired or annoyed of LinkedIn.
Yo...
New
Aludel - LLM Evaluation Workbench
Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New
Latest Phoenix Threads
Latest on Elixir Forum
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #blog-post
- #ai
- #elixirconf-us
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
mindok
Does this help? Error logging and stack traces in release vs IEx
kif
I looked over those replies already. There in no solution offered in any of those.
One person suggest to “add
Logger.error(error)to render() in ErrorView” but that seams like a hack and still doesn’t show stack trace.I’m trying to understand what is the fundamental reason of that happening in production build and why this is default behavior?
c4710n
Phoenix’s default logger is very basic, which is implemented as telemetry event handler at here.
At first, you can disable the default logger by:
Then, implement you own telemetry event handler for logging.
Recently, I added a JSON logger for my app, so I can give you a basic example:
kif
Wow this is cool but sounds like overkill! How come stack trace shows up on dev and not production? That means that default logger is capable of outputting it?
ityonemo
Did you turn off debug symbols in prod?
kif
I don’t know how. Can you point me to the docs on how to do that?
kif
UPDATE1: I did more testing on that and discover that I
mix releaseandstartapp locally I do get stack trace as expected however on my production Ubuntu server I just getapplication=phoenix request_id=FwQp3A4z_ymkm3sAAAHh [debug] Converted error ArgumentError to 500 response.I’m using Docker to cross compile the app when I copy it to Ubuntu server where I run it as
systemdprocess.andrewf
Re the ErrorView hack: Yes, it is a hack, but I do get a stack trace. Not necessarily a nicely formatted one, but enough to point me to the problem. (Actually now that I’m trying to reproduce it, it’s also giving me a formatted stack trace, which is weird. Maybe something in my build chain got updated without me noticing, or it depends on exactly from where the error was raised)
Your last update is very curious, since that’s the exact experiment I did to determine that it was the release environment that was failing to log my stack traces. Run in release locally, no traces. (IIRC I had also run it in iex with MIX_ENV=prod and seen stack traces like I wanted)
Re: debug symbols, the best I was able to find was setting
strip_beams: falsein the release config, documented here, but it didn’t make a difference for me.kif
I noticed that I do get some stack traces. I intentionally made an exception by passing
nilto Ecto query and that logs fine on local and production machine. However,Converted error :undef to 500 responsewhich I assume happening due to email validation controller failure doesn’t log anything in production and doesn’t fail on my local system (which is pretty annoying).So somehow not all exception age getting caught by default which is weird since I use
mix gen.authwithout pretty much any changes.Seam like a pretty big flow of Phoenix if it is true.
I didn’t change any debug symbol settings as well.
I will continue to investigate and post some updates.
andrewf
Are you using releases at all?