You're very close. If you check tothe doc of org-agenda-show-log(through C-h v org-agenda-show-log), you will see you should use org-agenda-start-with-log-mode. And here is the choicemenu of choices of org-agenda-start-with-log-mode:
(defcustom org-agenda-start-with-log-mode nil "The initial value of log-mode in a newly created agenda window. See `org-agenda-log-mode' and `org-agenda-log-mode-items' for further explanations on the possible values." :group 'org-agenda-startup :group 'org-agenda-daily/weekly :type '(choice (const :tag "Don't show log items" nil) (const :tag "Show only log items" only) (const :tag "Show all possible log items" clockcheck) (repeat :tag "Choose among possible values for `org-agenda-log-mode-items'" (choice (const :tag "Show closed log items" closed) (const :tag "Show clocked log items" clock) (const :tag "Show all logged state changes" state))))) Finally, this template works on my side:
(add-to-list 'org-agenda-custom-commands '("w" "Weekly review" agenda "" ((org-agenda-span 8) (org-agenda-start-day "-7d") (org-agenda-start-with-log-mode 'only) (org-agenda-log-mode-items '(state clock)))))