Debugging Edxapp

Relevant Log Files

Log File LocationWhat's in it?
/edx/var/log/supervisor/lms-stderr.log
/edx/var/log/supervisor/cms-stderr.log

Startup error messages and debug output from the running LMS django process
- If you're getting a startup error, look here 

/edx/var/log/supervisor/supervisord.logDebug output from the supervisor task manager
- If you make changes to the supervisor task definitions, look here.
/edx/var/log/lms/edx.log
/edx/var/log/cms/edx.log
Request logs and errors from the LMS
- If you're getting a 500 error on a certain request, look here. 
/edx/var/log/nginx/error.logErrors from nginx proxy server that front-ends both the LMS and CMS.
- Mostly access or configuration related errors. If you're getting a 4xx or 5xx error, look here
/edx/var/log/nginx/access.log

Access logs for all requests to the server.
- If you want to see apache style logs for every request your server is getting, look here. 

Configuration files

Configuration File LocationWhat's in it?Format
/edx/app/edxapp/lms.env.json
/edx/app/edxapp/cms.env.json
Most configuration parameters for the app.
- Feature flags
- backend server locations
- theme related settings
JSON
/edx/app/edxapp/lms.auth.json
/edx/app/edxapp/cms.auth.json
Authentication parameters for the app
-  API Keys
- Database passwords
-  occasional settings that are paired with authentication
JSON
/edx/app/supervisor/conf.d/lms.conf
/edx/app/supervisor/conf.d/cms.conf
Supervisor task manager configuration for apps
- Environment variables are here
-  Startup commands for the apps.
supervisor config
/edx/app/supervisor/pre_supervisor_checks.pyMigration check commandsPython

Steps

  1. Look in log files for errors
  2. Solve the problem
  3. Profit!

Docker Devstack 

Use convenient make commands to view logs for specific IDAs. More details in the readme https://github.com/edx/devstack

To see logs from containers running in detached mode, you can either use "Kitematic" (available from the "Docker for Mac" menu), or by running the following:

make logs


To view the logs of a specific service container run make <service>-logs. For example, to access the logs for Ecommerce, you can run:

make ecommerce-logs