There are in effect two possible parts to stdout/stderr that can come from that '
java' command. The first is that from the Java application and whichever logging system you are using
you should be able to define and install an appender to log ALL System.out and System.err to your standard log output. The second part is from the 'java' command before your Java program starts running. This cannot be simply diverted to your standard log file and you will need to handle that separately; how you do that is up to you but it should be simple enough to just append it, using the >> redirection, to your log file but probably without time and date annotation though. I don't see it as difficult to write a program to annotate this output with time and date since it is just a simple filter.
The first source of stdout/stderr is just a Java problem and not a Linux problem. The second is a Linux problem and not a Java problem.
Edit: after a little more thought it looks to be easy to prepend a time-stamp to each line of 'java' stdout and stderr by using 'awk' as a filter.