Would you have to start a session to log things like HTTP_USER_AGENT and REQUEST_URI in a database every time a user loads a page?
No... Those are in the $_SERVER global variable, and are accessible by calling them like so (regardless of whether or not you are using sessions):
$SERVER['HTTP_USER_AGENT'] $SERVER['REQUEST_URI']