How do I find the logged in user?

This can be retrieved easily from the com.atlassian.confluence.user.AuthenticatedUserThreadLocal class which will give you the current logged in user as a com.atlassian.user.User object.

User user = AuthenticatedUserThreadLocal.getUser();

Should the user not be logged in the user object will be null.