Bunu gerçekten çok seviyorum, işte çalışma örneğiniz! Cidden bu harika!
Bunu, settings.py
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
'datefmt' : "%d/%b/%Y %H:%M:%S"
},
},
'handlers': {
'null': {
'level':'DEBUG',
'class':'django.utils.log.NullHandler',
},
'logfile': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': SITE_ROOT + "/logfile",
'maxBytes': 50000,
'backupCount': 2,
'formatter': 'standard',
},
'console':{
'level':'INFO',
'class':'logging.StreamHandler',
'formatter': 'standard'
},
},
'loggers': {
'django': {
'handlers':['console'],
'propagate': True,
'level':'WARN',
},
'django.db.backends': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': False,
},
'MYAPP': {
'handlers': ['console', 'logfile'],
'level': 'DEBUG',
},
}
}
Şimdi tüm bunlar ne anlama geliyor?
- Biçimlendiriciler ./manage.py runserver ile aynı stilde çıkmasını seviyorum
- İşleyiciler - İki günlük istiyorum - bir hata ayıklama metin dosyası ve bir bilgi konsolu. Bu, gerçekten kazmama (gerekirse) ve başlık altında ne olduğunu görmek için bir metin dosyasına bakmamı sağlıyor.
- Kaydediciler - İşte kaydetmek istediğimiz şeyi bulduğumuz yer. Genel olarak django WARN ve üstü alır - istisna (bu nedenle yayılır), SQL çağrılarını görmeyi sevdiğim arka uçlardır çünkü delirebilirler. Son olarak, uygulamam iki işleyicim vardı ve her şeyi ona itti.
Şimdi MYAPP'yi kullanması için nasıl etkinleştirebilirim ...
Başına belgelere dosyalarınızı (views.py) üstündeki bu koymak ..
import logging
log = logging.getLogger(__name__)
Sonra bir şeyler çıkarmak için bunu yapın.
log.debug("Hey there it works!!")
log.info("Hey there it works!!")
log.warn("Hey there it works!!")
log.error("Hey there it works!!")
Günlük seviyeleri burada açıklanmıştır ve saf python için burada .