Saya sangat menyukai ini, inilah contoh kerja Anda! Serius ini luar biasa!
Mulailah dengan memasukkan ini ke dalam file 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',
},
}
}
Sekarang apa artinya semua ini?
- Formaters Saya suka tampil dengan gaya yang sama seperti ./manage.py runserver
- Penangan - Saya ingin dua log - file teks debug, dan konsol info. Ini memungkinkan saya untuk benar-benar menggali (jika perlu) dan melihat file teks untuk melihat apa yang terjadi di balik terpal.
- Penebang - Di sinilah kami menentukan apa yang ingin kami catat. Secara umum django mendapat WARN dan di atasnya - pengecualian (karena itu menyebar) adalah backend di mana saya suka melihat panggilan SQL karena mereka bisa gila .. Terakhir adalah aplikasi saya, saya memiliki dua penangan dan mendorong semuanya ke sana.
Sekarang bagaimana cara mengaktifkan MYAPP untuk menggunakannya ...
Sesuai dokumentasi, letakkan ini di bagian atas file Anda (views.py) ..
import logging
log = logging.getLogger(__name__)
Kemudian untuk mendapatkan sesuatu lakukan ini.
log.debug("Hey there it works!!")
log.info("Hey there it works!!")
log.warn("Hey there it works!!")
log.error("Hey there it works!!")
Level log dijelaskan di sini dan untuk python murni di sini .