যদি পরীক্ষা, দেব এবং উত্পাদনের জন্য আপনার কাছে আলাদা ইনিটালাইজার মডিউল থাকে তবে আপনি যে কোনও কিছু অক্ষম করতে পারেন বা এটিকে আরম্ভকারীতে পুনর্নির্দেশ করতে পারেন। আমার কাছে স্থানীয়.পি, টেস্ট.পি এবং প্রোডাকশন.পি রয়েছে যা সব সাধারণ.ই থেকে প্রাপ্ত
কমন.পি এই স্নিপেট সহ সমস্ত মূল কনফিগারেশন করে:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'django.server': {
'()': 'django.utils.log.ServerFormatter',
'format': '[%(server_time)s] %(message)s',
},
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'filters': {
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': {
'django.server': {
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'django.server',
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler'
}
},
'loggers': {
'django': {
'handlers': ['console'],
'level': 'INFO',
'propagate': True,
},
'celery.tasks': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': True,
},
'django.server': {
'handlers': ['django.server'],
'level': 'INFO',
'propagate': False,
},
}
তারপরে টেস্ট.পিতে আমার কাছে এটি রয়েছে:
console_logger = Common.LOGGING.get('handlers').get('console')
console_logger['class'] = 'logging.FileHandler
console_logger['filename'] = './unitest.log
এটি কনসোল হ্যান্ডলারটি ফাইলহ্যান্ডলারের সাথে প্রতিস্থাপন করে এবং তারপরে এখনও লগিং পেতে পারে তবে আমাকে প্রোডাকশন কোড বেসটি স্পর্শ করতে হবে না।