The normal output of a service is a log, and should go to STDOUT. The service can separately output errors to STDERR.
The normal output of a non-service command (eg. grep) sometimes/often goes to STDOUT, which is why that command will write errors to STDERR -- even "info" messages that look like logging.