En mi archivo my_application/settings.py, por ejemplo, tengo un par de instrucciones de print , así:
print( 'running settings.py: ALLOWED_HOSTS: ' ) print( '\n'.join( ALLOWED_HOSTS ) )... ¿dónde va realmente esta salida en un servidor remoto que ejecuta nginx y Gunicorn?
NB Soy consciente de que esto puede ser una violación de seguridad atroz para imprimir ALLOWED_HOSTS en cualquier lugar, por lo que sé. Esto es simplemente un ejemplo: estoy en la etapa de aprendizaje/experimentación.
Editar después de la respuesta de AKX
No encontré ninguna forma de hacer que stdout fuera dirigido a journalctl , incluso con el interruptor -R .
... después de muchos experimentos y frustraciones y desconcertantes errores 502, finalmente encontré una manera: mi archivo de configuración systemd ahora se ve así:
[Unit] Description=Gunicorn server for mysite.xyz [Service] Restart=on-failure User=mike WorkingDirectory=/home/mike/sites/mysite.xyz EnvironmentFile=/home/mike/sites/mysite.xyz/.env ExecStart=/home/mike/sites/mysite.xyz/virtualenv/bin/gunicorn \ --bind unix:/tmp/mysite.xyz.socket \ -R \ --capture-output \ --error-logfile /home/mike/gunicorn-error.log \ superlists.wsgi:application [Install] WantedBy=multi-user.target ... de hecho, encuentro que no es suficiente incluir el interruptor -R : también parece que tiene que incluir el interruptor --capture-output y el interruptor --error-logfile (Nota: no tengo claro si hay un destino predeterminado para la salida de error si no establece ese interruptor).
Con el archivo de configuración anterior, la salida estándar de settings.py va al archivo ~/ stdout -error.log. Hurra.
Dondequiera que se dirija el stdout de gunicorn.
Si ejecuta cosas bajo systemd , por ejemplo, terminarán en el diario del sistema que puede leer con journalctl .
Cuando ejecuta gunicorn, hay un parámetro especial llamado --access-logfile, que especifica el archivo de registro de acceso para escribir. Si prefiere stdout, configure el '-' como parámetro de valor. Por ejemplo:
gunicorn --access-logfile - demoapp.wsgi