We are designing a system that will be implemented in MOSS 2007.
One of the requirements is that reading of documents must be logged. We can do this via the IIS log. But is there a better way?
Item Auditing can track the viewing and downloading of list items.
James is right, you can roll your own or use a third party solution. Shameless plug for one I worked on, but others are available as well.