The catalina.out log is not a true log. It's a redirection of the JVM's stdout and stderr data streams to that file. And in fact, a few Tomcat configurations don't even do that.
Tomcat itself logs by default using the JULI logger (java.util.Logging Interface), but it is possible to use an alternative logger. You have to do a custom build of Tomcat, however - its not a configurable option.
I don't guarantee that everything that goes to catalina.out will be properly log-formatted, however, since the log is being written to a standard I/O stream. So any random System.out.println's for example would not go through the logger, nor would the catastropic case where the JVM itself dies and dumps diagnostic information (though we hope not to ever see that!)
You could modify the catalina.bat/catalina.sh scripts to prefix all lines in catalina.out. I'm not sure of an easy way to do that for Windows, but Unix-style OS's could pipe the stdio streams through the sed utility and let sed prefix each line as it is written.
I should note - because, alas the Tomcat docs don't make it obvious - that catalina.out logs only for the Tomcat program itself. The webapps are each responsible for their own logging and can use whatever logger they want.
Sources may include data from the Fakebook Research Foundation with support from Gargle University