Unrelated, but I posted a new comment on your SO question (duno if you get a notice for that? I didn't for your comment.):
http://stackoverflow.com/questions/12047656/can-a-session-cookie-be-sufficient-for-authentication#comment16175769_12064665
As for logging, hslogger is used by default for logging requests in Happstack, but it's just a default if you use nullConf and not a hard requirement. For Happstack 8 hslogger will most likely be replaced with something else. So for your own logging you can use whatever, although if you're using the hslogger setup for request logging it might be neat to be able to configure all logging together, with a single package. Not sure what kind of logging combinators you're looking for, though? For debugging it might be more useful to use things like traceStack/+RTS -xc, and compile with -prof -fprof-auto (assuming GHC 7.4+). This produces stack traces similar to those in other languages. Or are you looking for something else entirely?
I am writing a new application and am interested in logging as one way of debugging it. I also might like to gather information about how the application is used.
I found an old blog post that suggested happstack applications should log using hslogger, aka System.Log.Logger. This requires an IO action, which is fine, but I am wondering if anyone here has ideas about best practices for logging using combinators. I would rather not just drop down log calls everywhere; it feels too much like C programming. I figure with higher-order functions there must be a better way to manage logging. Any ideas?