That looks correct (fairly close to what I have, my appender is slightly different but if you are getting a file created then the appender declaration is okay). Are you sure that you are using the correct category name?
You could try adding "-Dlog4j.debug" and/or "-Dlog4j.configDebug" to the JAVA_OPTS in the run.conf. These options cause Log4J to print out information about what it is doing - this might give some clue as to what went wrong.
One possible problem is including (another) log4j.jar in your application deployment.
Thanks guys, the log4j.jar file was included in ear lib folder. After removing, it started to print messages to file.