Closed derekkraan closed 5 years ago
You should not rely on the erl logs for your application logging, it is not really intended for anything but last resort debugging. Instead you should provide a custom Logger backend that writes to files/syslog/etc.
The use of start
fundamentally depends on a shell being attached. If you want the behavior you are looking for, you should use foreground
in conjunction with a service manager like systemd which can route stdout/stderr to the appropriate logging facility.
This isn't so much a bug, since this appears to be intentional behaviour.
Anyways, when you run
bin/my_app start
, distillery proxies that through tobin/my_app console
, which starts IEx. The result is that my applications logs are polluted with IEx prompts, which are getting in the way because I am logging to JSON and using filebeat to ship these logs to logstash.So my question is: now we have
remote_console
, (which I use all the time), so do we still needstart
to start a shell that we could connect to? None of the other core functionality of Distillery (eg,stop
) uses this if I am reading the code correctly.So my proposal (or question) is whether we can either change
start
to not start a shell, or provide a good way (start_daemon
or equivalent) to run a shell-less daemon out of the box with Distillery? I would be happy to contribute a PR if I get some guidance on what you'd accept.