I'd like to keep track of which modules are loaded by the Linux kernel over a course of several weeks.
Q: How can I log each module load to a file?
Suggest you try SystemTap.
This SystemTap script is a decent example, tracks process stop/start as well as kernel module load/delete. Easy to remove the process stop/start aspect.