When tomcat is started as a service, its default logging configuration actually overrides any application-specific logging configuration. As Aaron suggested the best way to set the configuration is using tomcatw //ES//tomcat_service_name, e.g. tomcat_service_name could be Tomcat5 depending on your installation preferences (also, use tomcatw, not tomcat - both executables can be found in C:\Program Files\Apache Software Foundation\Tomcat 5.0\bin). This post explains how you can ensure that you use the correct service name (if there are no values in the dialog then the name is probably incorrect).
I would post an image but I do not have sufficient rep. On the Java VM tab, enter the configuration in Java Options, e.g. -Dlog4j.configuration=service.log4j.properties
The file that contains your logging configuration can then be placed in tomcat server classes directory, e.g. C:\Program Files\Apache Software Foundation\Tomcat 5.0\server\classes.
There are several places where you can put the logging configuration file. I initially tried specifying a full path for the logging configuration file but log4j appears to check only certain paths. As this post states, place -Dlog4j.debug as the first line in Java Options and you can debug what log4j is doing. The server classes directory is listed as one possible search path.
When creating your log4j.properties file, name it something other than log4j.properties, e.g. service.log4j.properties. Naming it log4j.properties runs the risk that an application-specific log4j.properties file could be found, which would override your configuration but, which would then be subsequently ignored by the tomcat service.