I am in the process of setting up user action logging for my PHP site.
Would you recommend storing them in mysql or in text/log files?
Depends on what you want to do with those, I'd say :
To not slow things down too much, you can also use both (I've used that on some websites with a bit of traffic, where it wouldn't have been wise to store data in DB immediatly) :
This way, you don't insert data in DB all the time ; and you can (provided a day or an hour has passed) do all the queries you need
I would recommend using something like Zend_Log to abstract from the actual 'physical' logging. That way you can always change backends later very easily, in case your situation changes for some reason or another.
I would recommend MySQL since it is then easier to view the log in for example an administrative area. You could then also set different flags, ie error levels, and filter through the log to find interesting items. Also you could easily base a statistics function on this data, much easier than whan in log files.
But I guess it depends on how you should use your log, and by whom they should be used. Raw log files are a bit geeky :)