He estado buscando una manera fácil de ver las declaraciones de depuración en Beanstalk a medida que desarrollo. Pensé que simplemente podría iniciar sesión en un archivo en Beanstalk.
En mi archivo application.properties configuré
logging.file.path=/var/logY eso no produjo ningún resultado ni siquiera en mi máquina local. No estoy seguro de si se trata de un problema de permisos o qué, pero localmente configuré la ruta a mi directorio de inicio y luego vi aparecer el archivo, spring.log.
Con Beanstalk probé /var/log, var/log/tomcat, /home/webapp/, ./, ~ y varios otros valores. Nada funcionó.
Incluso probé lo que se sugirió aquí sin suerte: https://medium.com/vividcode/logging-practice-for-elastic-beanstalk-java-apps-308ed7c4d63f
Si iniciar sesión en un archivo no es una buena idea, ¿cuáles son las alternativas? He buscado mucho en Google sobre este tema y todas las respuestas no son muy claras.
Sí, se trata de problemas de permisos. Su aplicación se ejecuta bajo el usuario de la aplicación webapp , mientras que /var/log es propiedad de root. Por lo tanto, no puede escribir en él.
La forma correcta de agregar sus archivos de registro para que EB los reconozca es a través de los archivos de configuración.
Específicamente, asumiendo Amazon Linux 2, puede crear .ebextensions/mylogfiles.config con el contenido de:
files: "/opt/elasticbeanstalk/config/private/logtasks/bundle/myapplogs.conf": mode: "000644" owner: root group: root content: | /var/app/current/log/*.log Obviamente, /var/app/current/log/*.log apuntaría a la ubicación donde su aplicación almacena sus archivos de registro. /var/app/current es la carpeta de inicio de su aplicación.