Tuesday, 10 September 2013

Django - logging each view's action

Django - logging each view's action

I'm thinking of creating a log system for my django web application. The
web application is quite comprehensive in its use (covers all aspects of a
business's processes) so I'd like to track every event that happens.
Specifically, I'd like to log every view that runs and not just the "main"
ones and, potentially, log what is happening within the view as its
executed.
While I'm in the "idea" stage of the logging system, I've quickly hit a
few questions that leave me unsure how to proceed. Here are the main
questions I have:
I'm thinking of logging all of the events in the same MySQL database that
the main web app holds its data. The concern I have is bloating the MySQL
database into a massive DB. Also, if the DB crashes or is destroyed
somehow (yes I have backups) I'll loose my log too which blows away any
ability to track down the problem. Do I use a seperate DB or just go with
text files?
How granular do I go? Initially I was thinking of simply logging things
like, "Date - In view myView". However, as I'm thinking about it, it would
be nice to log all the stuff that happens within the view. Doing this
could make the log massive! and would also make my code ugly with so many
log entry lines mixed into the code. This kind of detail:
Date - entered view myView
Date - in view myView, retrieved object myObject from the DB
Date - in view myView, setting myObject field myField to myNewValue
Date - leaving myView
Those are my main thoughts at this point. Any advice on this front?
Thanks

No comments:

Post a Comment