handle logging better and if a subprocess spawned by --app fails, don't throw a traceback