Applications that run 24/7 are generally considered services in my opinion.
Usually services on Linux get started by a process supervisor, typically at boot time, such as by the common default systemd or one of the alternatives listed here: https://en.wikipedia.org/wiki/Process_supervision
That supervisor can can then perform service/application restarts when needed and capture and log standard/error output so it won't be lost.
As a sysadmin you can then interact with either the logs or the process supervisor to check the status of your service.
Personally I prefer that services don't rely on the supervisor for all their logging, in other words that they do not only log to stdout
and stderr
. Services should only generate (copious amounts of) standard output (write to the console) when started with a (debug) switch and/or when throwing critical errors and dying. During normal operations services should have the option to maintain their own log file(s) to record requests, statistics, errors, statistics and other relevant events.
But that may be overkill for your application.