日志大法,浅浅试了一下
首先就是在setting.py 中配置LOGGING
LOGGING = {"version": 1,"formatters": {"simple": {"format": '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s'},"standard": {"format": '%(levelname)s:%(asctime)s:%(filename)s:%(lineno)d:%(message)s'}},"handlers": {"console": {"class": "logging.StreamHandler","level": "DEBUG","formatter": "simple"},"file": {"class": "logging.FileHandler","formatter": "simple","filename": "logtest.log"}},"loggers": {"simple": {"level": "DEBUG","handlers": ["file"],"propagate": True},"standard": {"level": "ERROR","handlers": ["console", "file"],"propagate": True}}}
上面指定了创建的日志文件“logtest.log”,指定了日志级别‘simple’和‘standard’,
simple代表debug级别,只输出到日志文件。
standard 代表error级别,会输出到控制台和日志文件。
import logginglogger = logging.getLogger('standard')def export_model_as_csv(modeladmin, request, queryset):response = HttpResponse(content_type='test/csv',headers={'Content-Disposition': 'attachment; filename=test_%s.csv' % (datetime.now().strftime('%Y-%m-%d-%H-%M-%S'),)})field_list = export_listwrite = csv.writer(response)write.writerow([queryset.model._meta.get_field(f).verbose_name.title() for f in field_list])for obj in queryset:csv_line_values = []for field in field_list:field_object = queryset.model._meta.get_field(field)field_value = field_object.value_from_object(obj)csv_line_values.append(field_value)write.writerow(csv_line_values)#在这里哦logger.error("%s exported %s candidate records" % (request.user, len(queryset)))return response
