How to log the history of nodes viewed by a user, and report about them? I want to have this feature that for each user logs the nodes that the user viewed.

In another words, recent nodes viewed by each user.
I want have a block that shows each nodes user viewed , something like imdb.com user history view.

How can I achieve this job? Do you know good module for Drupal 7?
Do you think it is possible achieve that with views or my custom query?
Or I should write custom simple module and get help hook_node_view .... ?
You can try using Recently Read module...


  Recently read allows site administrators to enable blocks displaying a
  history of recently read content (nodes) both to anonymous and
  authenticated users. For logged in users, each user has its own
  history. For anonymous users, the history is based on sessions. This
  module may be useful i.e. for displaying recently viewed products on
  the e-commerce site.