Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python on the AWS Beanstalk. How to snapshot custom logs?

I'm developing python application which works on aws beanstalk environment. For error handling and debugging proposes I write logs to custom lof file on the directory /var/logs/.

What should I do in order to have ability snapshot logs from Elastic beanstalk management console?

like image 710
Vadym Fedorov Avatar asked Feb 23 '13 07:02

Vadym Fedorov


2 Answers

Expanding on Vadim911 (and my own comment), I solved the problem using a config file in .ebextensions. Here is the python code:

import logging
logging.basicConfig(filename='/opt/python/log/my.log', level=logging.DEBUG)

Here is the .ebextensions config file code:

files:
  "/opt/python/log/my.log" :
   mode: "000666"
   owner: ec2-user
   group: ec2-user
   content: |
       # Askbot log file

The contents of this file (along with other log files) is available using the Logs snapshot function on the AWS elastic beanstalk console.

like image 174
Chuck Avatar answered Oct 31 '22 06:10

Chuck


If you need have ability to snapshot log files from Beanstalk management console, you should just write you log files to "/opt/python/log/" folder. Elastic beanstalk scripts use this folder for log tailing.

like image 31
Vadym Fedorov Avatar answered Oct 31 '22 05:10

Vadym Fedorov