Pytigon uses Django's logging framework with sensible defaults for development and production. Logs track HTTP requests, database queries, background tasks, and application-specific events.
Configure logging in settings_app.py:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/var/log/pytigon/app.log',
},
'console': {
'level': 'INFO',
'class': 'logging.StreamHandler',
},
},
'loggers': {
'django': {
'handlers': ['file', 'console'],
'level': 'INFO',
},
'pytigon': {
'handlers': ['file'],
'level': 'DEBUG',
},
},
}
| Logger | Content |
|---|---|
django |
HTTP requests, ORM queries, template rendering |
django.db.backends |
SQL queries (DEBUG level) |
pytigon |
Pytigon-specific events |
pytigon.tasks |
Background task execution |
pytigon.schfs |
Virtual filesystem operations |
pytigon.channels |
WebSocket connections |
scheditor includes a log viewer at /scheditor/logs/ showing recent log entries with filtering by level and category.
tail -f /var/log/pytigon/app.log
The schmanage application includes a log viewer under the Monitoring section.
Pytigon integrates with Django's error reporting:
ADMINS in settingscommands/errors/For production deployments, configure log rotation:
# /etc/logrotate.d/pytigon
/var/log/pytigon/*.log {
daily
rotate 30
compress
delaycompress
missingok
notifempty
}