/
Rotation of Session Logs [5.3.0-B1]
Rotation of Session Logs [5.3.0-B1]
Logs is something that can grow very fast and therefore take lots of disk space on web server. There are several log types used by In-Portal. Some are rotated, but some aren't. In particular following logs aren't rotated:
- "Session Log" - past and present user sessions
- "Changes Log" - changes made within each user session
When actively manipulating the data in the database the "Changes Log" in particular can be very large (one record created for every user action).
Solution
- add "SessionLogRotationInterval" system setting (label: "Keep "Session Log" for") to the "Logs Settings" sub-section in the "Configuration > Website > Advanced" section with following options: "1 day", "1 week", "2 weeks", "1 month", "3 months", "1 year", "2 years", "3 years", "5 years", "Forever (never deleted automatically)"
- create "session-log:OnRotate" scheduled task (see "email-log:OnRotate" for example) to cleanup logs
- don't session logs of active sessions
- before deleting "session log" delete all "changes log" records associated with that "session log"
- add protection against removing more than 100 records per run (to avoid "out of memory" error)
- run event once per day