现有的系统下,要增加一个日志审计。
现有的环境: Django+Mongodb 。
然后想直接用 logging 来处理日志,但是怎么入库呢?
看到网上也有人讨论 signals 来处理,这个块不是很熟,想问一下,只处理 views 可以吗,因为现有的环境没有 models 的处理。 谢谢
黄舟2017-05-18 11:01:11
如果是想对models变化做logging,建议使用django-reversion。
更新:
你可以将用户登入后让他redirect到你用来记录用户登陆时间,ip,用户名的view。再redirect到另一个view吧。
from ipware.ip import get_ip
import datetime
class UserLoginLogView(View, LoginRequiredMixin):
def get(self, request, pk):
ip = get_ip(request)
user = self.request.user
time = datetime.datetime.now()
url = reverse(home)
login_log = UserLoginLogModel.objects.create(user=user, ip=ip, time=time)
return HttpResponseRedirect(url)